题解 | #n个数里出现次数大于等于n/2的数#

n个数里出现次数大于等于n/2的数

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String[] strings = s.split(" ");
        int[] arr = new int[strings.length];
        for (int i = 0; i < strings.length; i++) {
            arr[i] = Integer.parseInt(strings[i]);
        }
        HashMap<Integer,Integer> map = new HashMap();
        for (int i = 0; i < arr.length; i++) {
            if (map.containsKey(arr[i])){
                map.put(arr[i],(map.get(arr[i]) + 1));
            }else {
                map.put(arr[i],1);
            }
        }
        ArrayList<Integer> list = new ArrayList<>();
        Set<Map.Entry<Integer, Integer>> entries = map.entrySet();
        for (Map.Entry<Integer, Integer> entry : entries) {
            if (entry.getValue() >= (arr.length / 2)){
                list.add(entry.getKey());
            }
        }
        for (Integer integer : list) {
            System.out.println(integer);
        }
    }
}


#嘿嘿#
全部评论

相关推荐

鱼专:别投了,我看到有人点了第二个链接投递,还没退出界面,不合适的邮件就发过来了
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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