有序数组中出现次数超过0.25的元素Java
文章发布较早,内容可能过时,阅读注意甄别。
# 题目
给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。
请你找到并返回这个整数
示例:
输入:arr = [1,2,2,6,6,6,6,7,10]
输出:6
提示:
- 1 <= arr.length <= 10^4
- 0 <= arr[i] <= 10^5
# 思路
数组
# 解法
class Solution {
public static int findSpecialInteger(int[] arr) {
for (int i = 0, len = arr.length / 4; i < arr.length - len; i++)
if (arr[i] == arr[i + len])
return arr[i];
return arr[0];
}}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 总结
- 分析出几种情况,然后分别对各个情况实现