当前位置: 首页 > article >正文

找出一个数组中出现次数最多的那个元素。:哈希表:JAVA

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

找出一个数组中出现次数最多的那个元素。

输入描述:

第一行输入一个整数n(不大于20) 第二行输入n个整数,

输出描述:

找出n个整数中出现次数最多的那个整数,如果有多个,输出最先出现的那个

示例1

输入

4
1 2 2 3

输出

2

代码:

import java.util.Arrays;
import java.util.Scanner;
import java.util.HashMap;

public class Main {
    // 定义一个静态方法 findMostFrequentElement,用于找到数组中出现次数最多的元素
    public static int findMostFrequentElement(int[] nums) {
        // 创建一个哈希表来存储每个元素及其出现的次数
        HashMap<Integer, Integer> countMap = new HashMap<>();
        // 遍历数组,将每个元素的出现次数记录到哈希表中
        for (int num : nums) {
            countMap.put(num, countMap.getOrDefault(num, 0) + 1);
        }
        // 初始化变量来跟踪出现次数最多的元素和其次数
        int mostFrequentElement = nums[0];
        int maxCount = countMap.get(mostFrequentElement);
        // 遍历哈希表以找到出现次数最多的元素
        for (int key : countMap.keySet()) {
            if (countMap.get(key) > maxCount) {
                mostFrequentElement = key;
                maxCount = countMap.get(key);
            }
        }
        // 返回出现次数最多的元素
        return mostFrequentElement;
    }
    // 主方法,程序入口
    public static void main(String[] args) {
        // 创建扫描器对象,用于从控制台读取输入
        Scanner scanner = new Scanner(System.in);
        // 读取数组的长度
        int n = scanner.nextInt();
        // 创建数组并读取数组元素
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = scanner.nextInt();
        }
        // 调用 findMostFrequentElement 方法,找到数组中出现次数最多的元素
        int result = findMostFrequentElement(nums);
        // 输出结果
        System.out.println(result);
    }
}


http://www.kler.cn/a/441440.html

相关文章:

  • 软件测试 —— jmeter(2)
  • 仿 RabbitMQ 的消息队列3(实战项目)
  • 关于CAN(FD)转以太网详细介绍
  • Linux网络之TCP
  • 考研机试:买房子
  • 计算机网络之网络层
  • SQL, 将分段数不确定的字符串拆分成多列
  • Android之RecyclerView显示数据列表和网格
  • 2024-12-16 装有Ubuntu系统的移动硬盘使用windows系统对其进行格式化
  • SpringDataJpa-字段加解密存储
  • webpack打包流程及原理
  • LeetCode 283.移动零(超简单讲解)
  • 鸿蒙权限请求工具类
  • 力扣-图论-15【算法学习day.65】
  • 【PyTorch】实现在训练过程中自定义动态调整学习率
  • 测试工程师八股文04|计算机网络 和 其他
  • 【日常笔记】基本数据类型浅析 -int类型能存储哪些传感器数据
  • 减少 Flutter 应用体积的常用方法
  • 在线PDF合并工具 - 快速、免费、安全的文档处理解决方案 | Online PDF Merger Tool
  • 力扣--LCR 164.破解闯关密码
  • K8s 中Istio 的使用示例
  • ThinkPHP 5.1 的模板布局功能
  • CentOS7源码编译安装nginx+php+mysql
  • 前端单元测试实战:从零开始构建可靠的测试体系
  • vue2项目中如何把rem设置为固定的100px
  • Linux:进程通信、管道通信