파비의 매일매일 공부기록

Today's Challenge 본문

Problem Solving/LeetCode

Today's Challenge

fabichoi 2022. 7. 5. 23:45

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

 

Longest Consecutive Sequence - 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

문제가 단순 LIS를 구하는 건 줄 알았는데, 그냥 연속되는 숫자의 최장 길이를 구하는 거였다.
정렬하고 set 하면 금방 끝날 듯한 문제인데, set만을 이용해서 푸는 솔루션을 찾아서 적용해봄.

class Solution:
    def longestConsecutive(self, nums: List[int]) -> int:
        lis = 0
        num_set = set(nums)
        
        for num in num_set:
            if num - 1 not in num_set:
                cur_num = num
                cur_streak = 1
                
                while cur_num + 1 in num_set:
                    cur_num += 1
                    cur_streak += 1
                
                lis = max(lis, cur_streak)
        
        return lis
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

Today's Challenge  (0) 2022.07.07
Today's Challenge  (0) 2022.07.06
Today's Challenge  (0) 2022.07.04
Today's Challenge  (0) 2022.07.03
Today's Challenge  (0) 2022.07.02
Comments