题目链接 力扣
class Solution {
public int longestConsecutive(int[] nums) {
if (nums.length == 0) {
return 0;
}
if (nums.length == 1) {
return 1;
}
//放到map里
Set<Integer> set = new HashSet<>();
for (int i = 0; i < nums.length; i++) {
set.add(nums[i]);
}
//取出一个玩贪吃蛇
int max = 0;
boolean flagx = true;
while (flagx) {
if (set.size() > 0) {
Integer a = set.iterator().next();
//如果有就扩展
if (set.contains(a)) {
set.remove(a);
int h = a;
int w = a;
int maxx = 1;
boolean flag = true;
while (flag) {
flag = false;
h--;
if (set.contains(h)) {
set.remove(h);
maxx++;
flag = true;
}
}
flag = true;
while (flag) {
flag = false;
w++;
if (set.contains(w)) {
set.remove(w);
maxx++;
flag = true;
}
}
if (maxx > max) {
max = maxx;
}
}
}else {
flagx = false;
}
}
return max;
}
}