题解 | #最大差值#

最大差值

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

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务