/**
* @requires_authorization
* @author johnsondu
* @time 2015-8-22
* @type Simple dynamic programming
* @url https://leetcode.com/problems/maximum-subarray/
*/
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int len = nums.size();
int ans = nums[0];
int cnt = 0;
for(int i = 0; i < len; i ++) {
cnt += nums[i];
ans = max(ans, cnt);
if(cnt < 0) cnt = 0;
}
return ans;
}
};
本文介绍了一种简单动态规划方法解决LeetCode上的最大子数组求和问题。通过遍历数组,利用累加计数器计算当前连续子数组之和,并更新最大值。当累加和小于0时重置为0,确保始终选择最大和子数组。
342

被折叠的 条评论
为什么被折叠?



