128. Longest Consecutive Sequence
1. Description
-
Given an unsorted array of integers
nums, return the length of the longest consecutive elements sequence. -
You must write an algorithm that runs in
O(n)time.
2. Example
Example 1
Input: nums =
[100,4,200,1,3,2]Output: 4 Explanation: The longest consecutive elements sequence is[1, 2, 3, 4]. Therefore its length is 4.
Example 2
Input: nums =
[0,3,7,2,5,8,4,6,0,1]Output: 9
3. Solution
- Runtime: 44ms
- 설명
- 📌답지를 보고 풀게 되었다.
- Chat GPT로 코드 분석을 했다.
- 중복을 제거하기 위해
set사용 - 리스트의 각 숫자를 순회하여 연속 수열의 시작점 찾기
- 연속된 숫자의 길이 측정
- 가장 긴 연속 수열의 길이 갱신
class Solution:
def longestConsecutive(self, nums: List[int]) -> int:
set_nums = set(nums)
longest = 0
for n in set_nums:
if n - 1 not in set_nums:
length = 1
while n + length in set_nums:
length += 1
longest = max(longest, length)
return longest4. What I Learned
References
- Write resources that you helped from