剑指offer:数组中出现次数超过一半的数字

用哈希表unmp,存着每个数出现的次数,for循环遍历整个数组,如果数相同就+1放到unmp中,当unmp[numbers[i]]的值大于整个数组一半的时候就输出此时的数!!!(挺简单)

#include <unordered_map>
class Solution{
public:
int MoreThanHalfNum_Solution(vector<int> numbers){
    unordered_map<int, int> unmp;
    int len = numbers.size();

    for(int i =0;i<len;++i){
        unmp[numbers[i]]++;
        if(unmp[numbers[i]]>len/2) return numbers[i];

    }
    return 0;

}
};

#剑指offer##23届找工作求助阵地#
全部评论
如果升级难度,O(1)空间复杂度呢
点赞 回复 分享
发布于 2023-04-07 15:55 湖南
投票法最佳
点赞 回复 分享
发布于 2023-04-09 14:15 江西

相关推荐

鼗:四级有点难绷,感觉能拿国家励志奖学金,学习能力应该蛮强的,四级确实不重要,但是拿这个卡你可是很恶心啊
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务