原本想先排序再Point index,但建議解真的很好,先將原index值+1 再去陣列循環是否包含此值,
以 [100,4,200,1,3,2] 來說 3+1=4,陣列確實含4且連續
class Solution {
private boolean arrayContains(int[] arr, int num) {
for (int i = 0; i < arr.length; i++) {
System.out.println("arr=" + arr[i] );
System.out.println("num=" + num );
if (arr[i] == num) {
return true;
}
}
return false;
}
public int longestConsecutive(int[] nums) {
int longestStreak = 0;
for (int num : nums) {
int currentNum = num;
int currentStreak = 1;
while (arrayContains(nums, currentNum + 1)) {
currentNum += 1;
currentStreak += 1;
}
longestStreak = Math.max(longestStreak, currentStreak);
}
return longestStreak;
}
}
留言列表