128. 最长连续序列
题解
哈希表的妙用 绝了
class Solution {
public int longestConsecutive(int[] nums) {
HashSet<Integer> set = new HashSet<>();
int res = 0;
for (int var : nums){
set.add(var);
}
while (!set.isEmpty()){
Integer mid = set.iterator().next();
int pre = mid - 1; int next = mid + 1;
set.remove(mid);
while (set.contains(pre)){
set.remove(pre--);
}
while (set.contains(next)){
set.remove(next++);
}
res = Math.max(res, next - pre - 1);
}
return res;
}
}

浙公网安备 33010602011771号