public static int longestConsecutive(int[] num) {
HashMap<Integer, Boolean> arrayUsed = new HashMap<Integer, Boolean>();
for (int i : num) {
arrayUsed.put(i, false);
}
int length = 0;
for (int i : num) {
int tempLength = 1;
arrayUsed.put(i, true);
// iterate numbers larger than i
for (int j = i + 1; arrayUsed.get(j) != null && arrayUsed.get(j) != true; j++) {
arrayUsed.put(j, true);
tempLength++;
}
for (int j = i - 1; arrayUsed.get(j) != null && arrayUsed.get(j) != true; j--) {
arrayUsed.put(j, true);
tempLength++;
}
length = Math.max(length, tempLength);
}
return length;
}
test
最新推荐文章于 2022-10-10 23:09:05 发布