class Solution {
public int longestConsecutive(int[] nums) {
// 利用hashset进行去重
HashSet<Integer> num_set = new HashSet<>();
for (int num : nums) {
num_set.add(num);
}
// 记录最长
int longestStreak = 0;
for (Integer num : num_set) {
//判断左边连续值是否存在
if (!num_set.contains(num - 1)){
int currentNum = num;
int currentSteak = 1;
//判断右边连续值是否存在
while (num_set.contains(currentNum + 1)){
currentNum += 1;
currentSteak += 1;
}
longestStreak = Math.max(currentSteak,longestStreak);
}
}
return longestStreak;
}
}