
Problem
Solution
Submissions
Longest Consecutive Sequence
Certification: Advanced Level
Accuracy: 0%
Submissions: 0
Points: 20
Write a C program to find the length of the longest consecutive elements sequence in an unsorted array of integers. The algorithm must run in O(n) time complexity. A consecutive sequence is a sequence of integers where each number is exactly one more than the previous number.
Example 1
- Input: nums = [100, 4, 200, 1, 3, 2]
- Output: 4
- Explanation:
- The array contains [100, 4, 200, 1, 3, 2].
- The longest consecutive sequence is [1, 2, 3, 4].
- The length of this sequence is 4.
- The array contains [100, 4, 200, 1, 3, 2].
Example 2
- Input: nums = [0, 3, 7, 2, 5, 8, 4, 6, 0, 1]
- Output: 9
- Explanation:
- The array contains [0, 3, 7, 2, 5, 8, 4, 6, 0, 1].
- The longest consecutive sequence is [0, 1, 2, 3, 4, 5, 6, 7, 8].
- The length of this sequence is 9.
- The array contains [0, 3, 7, 2, 5, 8, 4, 6, 0, 1].
Constraints
- 0 ≤ nums.length ≤ 10^5
- -10^9 ≤ nums[i] ≤ 10^9
- Time Complexity: O(n)
- Space Complexity: O(n)
- Cannot use sorting algorithms
Editorial
My Submissions
All Solutions
Lang | Status | Date | Code |
---|---|---|---|
You do not have any submissions for this problem. |
User | Lang | Status | Date | Code |
---|---|---|---|---|
No submissions found. |
Solution Hints
- Use a hash set to store all numbers for O(1) lookup time
- For each number, check if it's the start of a sequence (no predecessor exists)
- If it's a sequence start, count consecutive numbers from that point
- Keep track of the maximum sequence length encountered
- Skip numbers that are not sequence starts to avoid redundant work