法一:(但是会超时 -> 2000ms)
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param A int整型一维数组 # @param n int整型 # @return int整型 # class Solution: def getDis(self , A: List[int], n: int) -> int: # write code here dp=0 #设置差值,如果没有A[b]-A[a]>0的值,则返回最大值为0 for b in range(0,n,1): for a in range(0,b+1,1): dp=max(dp,A[b]-A[a]) #固定A[b],比较前置dp和当前A[b]-A[a]的值,将较大的那个赋值给dp return dp
法二:(只使用一次for循环,可通过)
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param A int整型一维数组 # @param n int整型 # @return int整型 # class Solution: def getDis(self , A: List[int], n: int) -> int: # write code here maxVal=0 #设置差值,如果没有A[b]-A[a]>0的值,则返回最大值为0 dp=A[0] #获取0~b之间的最小值,默认最小值为A[0] for i in range(1,n,1): dp=min(A[i],dp) maxVal=max(A[i]-dp,maxVal) return maxVal