#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param A int整型一维数组 # @param n int整型 # @return int整型 # class Solution: def getDis(self , A , n ): # write code here ##debug ##维护两个数组,当前数组前面最小的,和后面最大的 left_min = [float('inf')] * n right_max = [float('-inf')] * n #set left min left_min[0] = A[0] for i in range(1, n): cur_min = min(A[i], left_min[i - 1]) #print ("cur_min: ", cur_min) left_min[i] = cur_min right_max[n - 1] = A[n - 1] for i in range(n - 2, -1, -1): cur_max = max(A[i], right_max[i + 1]) right_max[i] = cur_max #print ("Left min: ", left_min) #print ("Right max: ", right_max) #calculte max_val = 0 for i in range(0, n): #print (i) max_val = max(max_val, right_max[i] - left_min[i]) return max_val