2020-1-1-LeetCode【1287. 有序数组中出现次数超过25%的元素】

科牛

关注

阅读 109

2023-03-06


​​1287. 有序数组中出现次数超过25%的元素​​

给你一个非递减的 有序 整数数组,已知这个数组中恰好有一个整数,它的出现次数超过数组元素总数的 25%。

请你找到并返回这个整数

示例

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

提示:

  • ​1 <= arr.length <= 10^4​
  • ​0 <= arr[i] <= 10^5​

思路

​使用hash表的key-value来代表每一个元素出现的次数。看出现最多的次数是否是大于数组长度的0.25了。​

代码

class Solution {
public:
int findSpecialInteger(vector<int>& arr) {
int res;
int len=arr.size();
unordered_map<int,int> cnt;
for(int i=0;i<len;i++)
{
if((double)++cnt[arr[i]]/len>0.25)
return arr[i];
}
return 0;

}
};

 

 

 

 

 

精彩评论(0)

0 0 举报