今日题目
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)
