📅  最后修改于: 2023-12-03 15:12:39.317000             🧑  作者: Mango
给定一组整数,编写一个程序,找到此组数字的最大相邻差。相邻差定义为相邻数字之间的差的绝对值。例如,数组{2,4,1,0}的最大相邻差为3(|4-1|=3)。
第一行输入一个整数 N,代表数组长度,1 ≤ N ≤ 10^6。
接下来 N 行,每行输入一个整数 Arr[i],代表数组中的一个整数,0 ≤ Arr[i] ≤ 10^9。
一个整数,代表数组的最大相邻差。
4
2
4
1
0
3
本题解法较为简单,首先对输入的数组进行排序,然后比较相邻两个数的差的绝对值,取最大值即可。
具体实现可参考下方 Python 代码片段。
n = int(input())
arr = [int(input()) for _ in range(n)]
arr.sort()
max_diff = 0
for i in range(1, n):
diff = abs(arr[i]-arr[i-1])
if diff > max_diff:
max_diff = diff
print(max_diff)
本题解法相对简单,重点在于数组排序和相邻元素之间的差的计算,需要注意细节,如数组长度为1时直接输出0。