主页 > 互联网  > 

(leetcode1749前缀和)1749.任意子数组和的绝对值的最大值

(leetcode1749前缀和)1749.任意子数组和的绝对值的最大值

核心题意

任意子数组和 的绝对值的最大值实际上是前缀和之间的差的最大值

建立前缀和数组

如果我们只考虑前缀和的最大值和最小值之差,那么就能够获得一个最大的子数组和的绝对值。因为任意一个子数组的和 prefix[j+1] - prefix[i],它的绝对值是最大当 prefix[j+1] 和 prefix[i] 之间的差值最大时。

(看完题解对不清楚的地方提出问题,写的时候按习惯改变变量写答案,或者写个变种代码)

class Solution { public: int maxAbsoluteSum(vector<int>& nums) { int maxn=0,minn=0,sum=0; for(auto m:nums) { sum+=m; maxn=max(maxn,sum); minn=min(minn,sum); } return maxn-minn; } };

标签:

(leetcode1749前缀和)1749.任意子数组和的绝对值的最大值由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“(leetcode1749前缀和)1749.任意子数组和的绝对值的最大值