有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。
给定数组A及它的大小n,请返回最大差值。
测试样例:
[10,5],2
返回:0
Greedy algorithm is used in this problem. The max difference is gotten in each step. max[i] = array[i] - minimum value of the first i-1 elements.
class LongestDistance:
def getDis(self, A, n):
# write code here
if len(A) <= 1 or not A:
return 0
min_ = A[0]
diff_max = 0
for i in range(1, n):
diff_max = max(diff_max, A[i] - min_)
min_ = min(min_, A[i])
return diff_max