看了答案,用动态规划做。
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int pre = -10000, res = -10000;
for(int i=0; i<nums.size(); i++){
// 当前的累加和,和当前的数,选大者
pre = max(pre+nums[i], nums[i]);
// 最大和
res = max(pre, res);
}
return res;
}
};