0
点赞
收藏
分享

微信扫一扫

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


​​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 条评论