题解 | #最大差值#

最大差值

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

全部评论

相关推荐

不会做题的小熊:我感觉我就算是找不到工作,我也不会作弊进去,作弊进去感觉一方面是自己不踏实,其次就是都靠作弊了,那后面肯定工作的心态是不一样的,没有一种内驱力。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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