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

'algorithm' 카테고리의 다른 글

72. Edit Distance  (0) 2020.09.12
1143. Longest Common Subsequence  (0) 2020.09.10
1155. Number of Dice Rolls With Target Sum  (0) 2020.09.07
300. Longest Increasing Subsequence  (0) 2020.09.06
334. Increasing Triplet Subsequence  (0) 2020.09.03