题目来源:
leetcode题目,网址:1287. 有序数组中出现次数超过25%的元素 - 力扣(LeetCode)
解题思路:
假设数组长度为n,因为数组时有序数组,所以若某元素出现次数超过25%,那么第 x 个元素 和第 x+n/4 (向下取整)个元素一定一样。因为题目保证有且只有一个结果,直接返回符合要求的第一个元素即可。
解题代码:
class Solution {
public int findSpecialInteger(int[] arr) {
int res=0;
int least=arr.length/4;
for(int i=0;i<arr.length;i++){
if(arr[i]==arr[i+least]){
res=arr[i];
break;
}
}
return res;
}
}
总结:
官方题解给出了模拟和二分两种解法。