LeetCode5709。最大の昇順サブアレイ合計(暴力的)

題名:

给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。

子数组是数组中的一个连续数字序列。

已知子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,
若对所有 i(l <= i < r),numsi < numsi+1 都成立,则称这一子数组为 升序 子数组。
注意,大小为 1 的子数组也视作 升序 子数组。

数据范围:
1 <= nums.length <= 100
1 <= nums[i] <= 100

解決:

观察到数据范围较小,O(n^2)暴力枚举所有区间即可.

コード:

class Solution {
    
    
public:
    int maxAscendingSum(vector<int>& a) {
    
    
        int n=a.size();
        int ans=0;
        for(int l=0;l<n;l++){
    
    
            int sum=a[l];
            for(int r=l+1;r<n;r++){
    
    
                if(a[r]<=a[r-1])break;
                sum+=a[r];
            }
            ans=max(ans,sum);
        }
        return ans;
    }
};

おすすめ

転載: blog.csdn.net/weixin_44178736/article/details/115058598