Menu
CoddyTech

Longest Consecutive Sequence

보통해싱python iconjava iconcpp iconc iconjs icon+10

정수 배열 nums를 순서에 상관없이 받습니다. 연속 수열은 nums 어딘가에 각각 나타나는 x, x+1, x+2 등의 값들로 이루어진 그룹입니다. 가장 긴 연속 수열의 길이를 반환하세요. 두 번 이상 나타나는 값은 한 번만 셉니다.

함수

longestConsecutive(nums: integer-array) → integer
numsinteger-array
정수들, 순서는 상관없으며 반복 허용
반환값integer
nums에 있는 연속된 값으로 이루어진 가장 긴 구간의 길이

제약 조건

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • 값은 반복될 수 있습니다. 배열에서 위치는 중요하지 않고, 어떤 값이 있는지만 중요합니다.

예제

입력
nums = [40, 4, 39, 1, 3, 2, 41]
출력
4
설명
1, 2, 3 및 4가 모두 배열에 흩어져 있지만, 4개의 연속된 값이 있습니다. 다른 연속된 값인 39부터 41까지는 값이 3개뿐입니다.

lock icon제출 시 숨은 테스트 +17개

challenge icon

후속 질문

값이 하나씩 들어오고, 각 값이 들어올 때마다 지금까지의 가장 긴 연속 구간을 알려줘야 한다고 가정해 보세요. 값마다 평균 O(1) 시간에 답을 최신 상태로 유지할 수 있을까요?

코드 초기화
def longestConsecutive(nums):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

nums = [40, 4, 39, 1, 3, 2, 41]

기대값

4