給你一個非遞減的 有序 整數數組,已知這個數組中恰好有一個整數,它的出現次數超過數組元素總數的 25%。

給你一個非遞減的 有序 整數數組,已知這個數組中恰好有一個整數,它的出現次數超過數組元素總數的 25%。
請你找到並返回這個整數.

 示例:

 輸入:arr = [1,2,2,6,6,6,6,7,10]
 輸出:6

 提示:
 1 <= arr.length <= 10^4
 0 <= arr[i] <= 10^5

解題思路:
首先求出數組長度的25%,然後再通過比較 nums[i] == nums[i+length],如果是true,那麼就直接返回nums[i];

 public static int findArr(int [] nums){
        int length = nums.length / 4;
        for (int i = 0; i < nums.length - length; i++) {
            if (nums[i] == nums[i + length]){
                return nums[i];
            }
        }
        return nums[0];
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章