📅  最后修改于: 2023-12-03 15:07:33.217000             🧑  作者: Mango
给定一个长度为n的整数数组a[],请编写一个程序,在不使用操作符-的情况下找到最大差值(i.e., a[j] - a[i],其中j > i)。
第一行包含一个整数n。
第二行包含n个用空格分隔的整数a[i]。
输出一个整数表示最大差值。
5
2 3 10 6 4
8
n = int(input())
arr = list(map(int, input().split()))
min_val = arr[0]
max_diff = -1
for i in range(1, n):
diff = arr[i] - min_val
if diff > max_diff:
max_diff = diff
if arr[i] < min_val:
min_val = arr[i]
print(max_diff)
时间复杂度:$O(n)$.
空间复杂度:$O(1)$.