LeetCode——674.最长连续递增序列

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        #先判定数组是否为空
        if not nums:
            return 0

        j = 0
        size = len(nums)
        #一开始设置0出错了,因为只要是非空的数组最终都会出现长度至少为1的非空数组
        res = 1
        for i in range(1,size):
            if nums[i]>nums[i-1]:
                res = max(i-j+1,res)
            else:
                j=i

        return res


        #官方题解 
        ans = 0
        n = len(nums)
        start = 0

        for i in range(n):
            if i > 0 and nums[i] <= nums[i - 1]:
                start = i
            ans = max(ans, i - start + 1)
        
        return ans


  • 连续递增序列这种题一般求的连续窗口的最大值
  • 既然是连续窗口的最大值,那肯定需要直到窗口的两端了,因此可以使用双指针去解决这个问题
  • 一次遍历,使用双指针记录连续窗口的大小,使用max函数不断更新最大值 

猜你喜欢

转载自blog.csdn.net/weixin_37724529/article/details/113067860
今日推荐