剑指offer——数组中出现次数超过一半的数字
数组中出现次数超过一半的数字
https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
solution:
std:
class Solution {
public:
int MoreThanHalfNum_Solution(vector<int> numbers) {
map<int , int> mp;
int siz = numbers.size();
int maxn = (siz + 2)/2;//数组的一一半长度
for(int i=0;i<siz;i++){
mp[numbers[i]]++;
if(mp[numbers[i]] >= maxn)
return numbers[i];
}
return 0;
}
};剑指offer 文章被收录于专栏
使用语言c++(比较喜欢用c++写编程题,java写的不熟)
