最大距离问题
题目描述
在数列 a1,a2,…,an中,定义两个元素 ai和 aj的距离为|i-j|+|ai-aj|,即元素下标的距离加上元素值的差的绝对值,其中∣x∣表示 x 的绝对值。
给定一个数列,请问找出元素之间最大的元素距离。
输入描述
输入的第一行包含一个整数 n。
第二行包含 n 个整数 a1, a2,⋯,an,相邻的整数间用空格分隔,表示给定的数列。
其中,2≤n≤1000,0≤数列中的数≤10^4。
输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
5
9 4 2 4 7
输出
9
运行限制
最大运行时间:1s
最大运行内存: 256M
最终解答如下:
Num_arr = int(input()) # 输入一个整数
arr = [int(i) for i in input().split()] # 输入数列的具体元素
maxdistance = 0 # 赋初值
for number1 in range(Num_arr): # 循环
for number2 in range(Num_arr):
distance = abs(arr[number1]-arr[number2]) + abs(number1-number2) #根据题目所给的公式进行计算
if distance > maxdistance: # 设置触发条件,如果求出了符合公式的值,就将它赋值给distance,这就是最大距离
maxdistance = distance
print(maxdistance)