Longest Consecutive Sequence

박수빈·2022년 3월 7일
0

leetcode

목록 보기
37/51
post-custom-banner

문제

  • 숫자 리스트 nums
  • 연속된 숫자 순서의 최대 길이

풀이

  • 증가하는~ 수열~ 풀 때 하는 것 처럼 dp 로 풀었는데
  • 연속된 이라서 +1 인지 확인해줘야 했다
  • 빈 리스트가 들어올 경우 예외처리
class Solution:
    def longestConsecutive(self, nums: List[int]) -> int:
        if nums:
            nums = sorted(list(set(nums)))
            N = len(nums)
            dp = [1 for _ in range(N)]

            for i in range(1, N):
                if nums[i] == nums[i-1]+1:
                    dp[i] = dp[i-1] + 1

            return max(dp)
        else:
            return 0

결과

profile
개발자가 되고 싶은 학부생의 꼼지락 기록
post-custom-banner

0개의 댓글