题解 | #最大差值#
最大差值
https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param A int整型一维数组
# @param n int整型
# @return int整型
#
class Solution:
def getDis(self , A: List[int], n: int) -> int:
# write code here
'''
其实维护了一个最大值与最小值,从第一个元素开始遍历,如果当前元素小于最小值就更新最小值与最大值。如果大于最小值,则计算当前值与最小值的差。时间O(N),空间O(1)
'''
mins=A[0]
maxs=A[0]
ans=maxs-mins
for i in range(1,n):
if A[i]>=mins:
maxs=A[i]
ans=max(ans,maxs-mins)
else:
maxs=A[i]
mins=A[i]
ans=max(ans,maxs-mins)
return ans


查看10道真题和解析