128. Longest Consecutive Sequence
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.Input: nums = [0,3,7,2,5,8,4,6,0,1]
Output: 9class Solution {
public int longestConsecutive(int[] nums) {
if (nums == null || nums.length == 0) return 0;
HashSet<Integer> set = new HashSet<>();
for (int i : nums) set.add(i);
int res = 0;
for (int i : nums) {
if (set.contains(i)) {
set.remove(i);
int pre = i - 1;
int next = i + 1;
while (set.contains(pre)) {
set.remove(pre);
pre--;
}
while (set.contains(next)) {
set.remove(next);
next++;
}
res = Math.max(res, next - pre - 1);
}
}
return res;
}
}Last updated