給你一個非遞減的 有序 整數數組,已知這個數組中恰好有一個整數,它的出現次數超過數組元素總數的 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];
}