题解 | #最大差值#

最大差值

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

全部评论

相关推荐

jack_miller:杜:你不用我那你就用我的美赞臣
点赞 评论 收藏
分享
11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务