题目链接:
题目描述:
思路:
- 首先去重,可以用Set
- 然后看每个元素是否是最小的,如果是最小的,则-1的结果Set里面没有
- 从最小的开始往上+,并查看Set里面有没有++后的结果,有的话记录长度,找到最长的
实现代码:
class Solution {
public int longestConsecutive(int[] nums) {
Set<Integer> set = new HashSet<>();
for(int num : nums){
set.add(num);
}
int len = 0;
for(int num : set){
if(!set.contains(num-1)){
int currentLen = 0;
while(set.contains(num++)){
currentLen++;
}
len = Math.max(currentLen,len);
}
}
return len;
}
}