algorithm

674. Longest Continuous Increasing Subsequence

식피두 2020. 9. 7. 15:24

https://leetcode.com/problems/longest-continuous-increasing-subsequence/

 

Longest Continuous Increasing Subsequence - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

80ms

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        
        if not nums:
            return 0
        
        ret = 1
        cur = 1
        prev = nums[0]
        
        for n in nums[1:]:
            if prev < n:
                cur += 1
            else:
                ret = max(ret, cur)
                cur = 1
            prev = n
        
        ret = max(ret, cur)
            
        return ret
        

64ms

no need to keep the previous value

class Solution:
    def findLengthOfLCIS(self, nums: List[int]) -> int:
        cnt = 1
        max_cnt = 1
        if nums == []:
            return 0
        
        for i in range(len(nums)-1):
            if nums[i] < nums[i+1]:
                cnt += 1
                max_cnt = max(max_cnt, cnt)
            else:
                cnt = 1
               
        return max_cnt