LeetCode 1749. 任意子数组和的绝对值的最大值*

LeetCode 1749. 任意子数组和的绝对值的最大值*,第1张

具体思路:

自己想的太过繁琐,直接保存最高点和最低点即可;

具体代码:
class Solution {
public:
    int maxAbsoluteSum(vector<int>& nums) {
        int maxn=INT_MIN;
        int n=nums.size();
        set<int>se;
        se.insert(0);
        vector<int>dp(n+1,0);
        for(int i=1;i<=n;i++){
            dp[i]=dp[i-1]+nums[i-1];
            int maxnn=*(se.rbegin());
            int minn=*se.begin();
            if(dp[i]>0){
                maxn=max(maxn,abs(dp[i]-minn));
            }else{
                maxn=max(maxn,abs(dp[i]-maxnn));
            }
            se.insert(dp[i]);
        }
        return maxn;
    }
};```

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/875505.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-13
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存