LeetCode 1800. Maximum Ascending Subarray Sum
🔗 https://leetcode.com/problems/maximum-ascending-subarray-sum
题目
- 给一个数组,求严格升序子数组的最大 sum
思路
- 遍历数组,如果是升序,统计 pre_sum,否则重置 pre_sum
- 统计这过程中的最大值
代码
class Solution {
public:
int maxAscendingSum(vector<int>& nums) {
int ans = nums[0];
int pre_sum = nums[0];
for (int i = 1; i < nums.size(); i++) {
if (nums[i] > nums[i-1]) {
pre_sum += nums[i];
} else {
ans = max(ans, pre_sum);
pre_sum = nums[i];
}
}
ans = max(ans, pre_sum);
return ans;
}
};