题目链接
自己的思路
沃趣这么难我怎么有思路,不乱序的我都还不会做更不要说乱序的。
直接上答案
官方题解
其实我感觉官方题解写得还行,没有评论区里面说的那么难懂,不过评论区里的大神还是确实厉害的。
重点就是匹配当前数据x是否是一个序列的开始,通过检测x-1是否存在。
开干。
自己写的代码,会解法之后这个题不难。
class Solution {
public int longestConsecutive(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
for(int num:nums){
set.add(nums[i]);
}
int len = set.size(), ans = -1;
if(len == 0 || len == 1){
return len;
}
for(Integer x: set){
int num = 1;
if(set.contains(x-1)){
continue;
}
while(set.contains(++x)){
num++;
}
ans = Math.max(ans, num);
}
return ans;
}
}