LeetCode 1800. 最大升序子数组和缩略图

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

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

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/maximum-ascending-subarray-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

LeetCode 1800. 最大升序子数组和插图
OpenCV步步精深-可心科创工作室

思路:指针向后遍历,每加完一段就放列表里,最后取最大的

python3实现:

class Solution:
    def maxAscendingSum(self, nums: List[int]) -> int:
        result = []
        
        tmp = nums[0]
        t = nums[0]
        p = 1
        
        while p <= len(nums) - 1:    
            if nums[p] > tmp:
                t += nums[p]
                tmp = nums[p]
            else:
                result.append(t)
                tmp = nums[p]
                # print("参照切换为:", tmp)
                t = tmp
            p += 1
        result.append(t)
        # print(result)
        return max(result)
LeetCode 1800. 最大升序子数组和插图1
OpenCV步步精深-可心科创工作室

更多干货见 OpenCV步步精深

作者 admin

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注