close

原本想先排序再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;
    }
}

arrow
arrow
    全站熱搜

    程式小試身手 發表在 痞客邦 留言(0) 人氣()