题解 | #数组中出现次数超过一半的数字#

数组中出现次数超过一半的数字

https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163

import java.util.Map;
import java.util.HashMap;
public class Solution {
    public int MoreThanHalfNum_Solution(int [] array) {
        int a = array.length / 2;
        int res = 1;
        Map<String,Integer> hp = new HashMap<>();
        for(int i=0;i<array.length;i++){
          String str = String.valueOf(array[i]);
           if(hp.containsKey(str)){
                int temp = hp.get(str);
                temp++;
                hp.put(str,temp);
           }else{
                hp.put(str,1);
           }
           //判断次数是否大于数组长度一半
           if(hp.get(str) > a){
             res = array[i];
           }
        }
     return res;
    }
}

全部评论

相关推荐

07-23 11:23
门头沟学院 Java
点赞 评论 收藏
分享
07-21 18:43
门头沟学院 Java
是暑期都招满了吗
ANEOY:今年感觉真是后端地狱级难度了,从暑期就是这样,前端需求非常大
点赞 评论 收藏
分享
苍蓝星上艾露:这简历。。。可以试试我写的开源简历优化工具https://github.com/weicanie/prisma-ai
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务