剑指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写的不熟)