题解 | #最大差值#

最大差值

https://www.nowcoder.com/practice/a01abbdc52ba4d5f8777fb5dae91b204

开始想到动态规划,但是题目要求差值是前一个减后一个,第i个值最小时,不可作为减数。
所以 前i个数最大差值为 max(A[i]-min_,max_),每次更新A[:i]最小值min_;

class Solution:
    def getDis(self , A: list[int], n: int) -> int:
        # write code here
        # if n <=1:
        #     return 0
        # dp=[0 for i in range(n)]
        # for i in range(1,n):
        #     x = A[i]
        #     max_ = max(A[:i])
        #     min_ = min(A[:i])
        #     if x < min_ :
        #         dp[i] = dp[i-1] +(min_ - x)
        #     elif x > max_ :
        #         dp[i] = dp[i-1] + (x-max_)
        #     else:
        #         dp[i] = dp[i-1]
        # return dp[n-1]

        min_ = A[0]
        max_ = 0
        for i in range(n):
            min_ = min(min_,A[i])
            max_ = max(max_,A[i] - min_)
        return max_

#我的实习求职记录#
全部评论

相关推荐

头像
11-26 15:46
已编辑
中南大学 后端
字节国际 电商后端 24k-35k
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务