给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。
请你找到并返回这个整数
示例:
输入:arr = [1,2,2,6,6,6,6,7,10] 输出:6
提示:
1 <= arr.length <= 10^4
0 <= arr[i] <= 10^5
分析:当出现的次数*4超过数组元素总数时,就返回这个值。
int findSpecialInteger(int* arr, int arrSize) {int ans=arr[0],cnt=1;for(int i=1;i<arrSize;++i){if(cnt*4>arrSize)return ans;if(arr[i]==ans)cnt++;else ans=arr[i],cnt=1;}return ans;
}