一、题目
二、思路
最大连续升序子数组和,一遍遍历,如果这个数比前面一个数大则添加到sum;否则sum=nums[i]
,重新开始计算,实时维护sum的最大值
三、代码
class Solution {
public:
int maxAscendingSum(vector<int>& nums) {
if(nums.empty()){
return 0;
}
int size=nums.size();
if(size==1){
return nums[0];
}
int Count=nums[0];
int sum=nums[0];
for(int i=1;i<size;++i){
if(nums[i]>nums[i-1]){
sum+=nums[i];
}
else{
Count=max(Count,sum);
sum=nums[i];
}
}
Count=max(Count,sum);
return Count;
}
};