找出整型数组中重复次数最多元素集合中的最小值

考虑用map去处理,

然后筛选出map里值最大的元素集合,

最后集合中键最小的那个元素

 

 


import java.util.*;
import java.util.stream.Collectors;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Map<Integer, Integer> maxMap = new HashMap<>();
        int count = scanner.nextInt();
        int[] nums = new int[count];
        for (int i = 0; i < count; i++) {
            nums[i] = scanner.nextInt();
        }
        // 从nums数组中找出现次数最多的元素
        for (int item: nums){
            if (maxMap.get(item) != null){
                maxMap.put(item, maxMap.get(item)+1);
            }else {
                maxMap.put(item, 1);
            }
        }
        int maxValue = Collections.max(maxMap.values());
        List<Integer> maxValueKeys = maxMap.entrySet().stream()
                .filter(entry ->entry.getValue() == maxValue)
                .map(Map.Entry::getKey)
                .collect(Collectors.toList());
        int min = 0;
        for (Integer key : maxValueKeys){
            if (min == 0){
                min = key;
            }else {
                if (key <=min){
                    min = key;
                }
            }
        }

        System.out.println(min);
    }
}

作者:jicing

出处:https://www.cnblogs.com/jicing/p/17042835.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Jicing  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示