LeetCode 1800. Maximum Ascending Subarray Sum

Source

🔗 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;

        
        
    }
};