leetcode 128. longest consecutive sequence

wonderful world·2022년 1월 13일
0

leetcode

목록 보기
17/21

https://leetcode.com/problems/longest-consecutive-sequence/description/

from itertools import count

class Solution:
    def longestConsecutive(self, nums: List[int]) -> int:
        def pop_seq(s, seq):
            xs = []
            for v in seq:
                if v in s:
                    xs += [v]
                    s.remove(v)
                else:
                    break
            return xs
          
        def take_sequence(s, v):
            dnward = count(v-1, -1)
            upward = count(v+1, 1)
            return (pop_seq(s, dnward)
                + [v]
                + pop_seq(s, upward))
           
        s = set(nums)
        max_cnt = 0
        while len(s) > 0:
            v = s.pop()
            seq = take_sequence(s, v)
            cnt = len(seq)
            max_cnt = max(cnt, max_cnt)

        return max_cnt
profile
hello wirld

0개의 댓글