代码
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n=nums.size();
int temp=nums[0];
int maxvalue=nums[0];
for(int i=1;i<n;i++){
temp=nums[i]+max(0,temp);
maxvalue=max(maxvalue,temp);
}
return maxvalue;
}
};
思路
动态规划。只需依次遍历,temp代表以nums[i]为尾的子序列最大值。