题意
求一个序列中最大的子序列和
思路
很经典的题目了,可以
DP
,很麻烦的线段树也可以实现,这里使用一个巧妙的方法,代码很短,手动模拟一下即可理解.
代码
class Solution {
public:
int maxSubArray(
vector<int>& nums) {
size_t len = nums.size();
int ans = INT_MIN;
int sum =
0;
for(
int i =
0; i < len; i++){
sum += nums[i];
ans = max(ans, sum);
if(sum <
0){
sum =
0;
}
}
return ans;
}
};