今日题目

https://leetcode.com/problems/maximum-ascending-subarray-sum/

解题思路

与昨日题目类似,唯一的区别是将计数改为求和。

解题方法

与昨日题目类似,唯一的区别是将计数改为求和。

复杂度分析

  • 时间复杂度:$O(N)$,N 为数组长度。

  • 空间复杂度:$O(1)$

代码

class Solution:
    def maxAscendingSum(self, nums: List[int]) -> int:
        ans, tmp, pre = nums[0], nums[0], nums[0]
        for num in nums[1::]:
            if num > pre:
                tmp += num
            else:
                ans = max(ans, tmp)
                tmp = num
            
            pre = num
        
        return max(tmp, ans)

image.png