首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编写用于查找int中最频繁的数字的Java方法

可以使用哈希表来实现。具体步骤如下:

  1. 创建一个哈希表,用于存储数字及其出现的次数。
  2. 遍历整数数组,对于每个数字,判断是否已经在哈希表中存在。
    • 如果存在,将该数字对应的值加1。
    • 如果不存在,将该数字作为键,初始值设为1,添加到哈希表中。
  • 遍历哈希表,找到出现次数最多的数字。
  • 返回出现次数最多的数字。

以下是一个示例代码:

代码语言:txt
复制
import java.util.HashMap;
import java.util.Map;

public class Main {
    public static int findMostFrequentNumber(int[] nums) {
        Map<Integer, Integer> frequencyMap = new HashMap<>();

        for (int num : nums) {
            if (frequencyMap.containsKey(num)) {
                frequencyMap.put(num, frequencyMap.get(num) + 1);
            } else {
                frequencyMap.put(num, 1);
            }
        }

        int mostFrequentNumber = 0;
        int maxFrequency = 0;

        for (Map.Entry<Integer, Integer> entry : frequencyMap.entrySet()) {
            int num = entry.getKey();
            int frequency = entry.getValue();

            if (frequency > maxFrequency) {
                mostFrequentNumber = num;
                maxFrequency = frequency;
            }
        }

        return mostFrequentNumber;
    }

    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5, 2, 2, 3, 3, 3};
        int mostFrequentNumber = findMostFrequentNumber(nums);
        System.out.println("Most frequent number: " + mostFrequentNumber);
    }
}

这个方法的时间复杂度为O(n),其中n是整数数组的长度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分36秒

2.19.卢卡斯素性测试lucas primality test

6分41秒

2.8.素性检验之车轮分解wheel factorization

1时1分

8. 尚硅谷_佟刚_JDBC_利用反射及JDBC元数据编写通用的查询方法.wmv

14分25秒

071.go切片的小根堆

24分28秒

GitLab CI/CD系列教程(四):.gitlab-ci.yml的常用关键词介绍与使用

22分49秒

9. 尚硅谷_佟刚_JDBC_第二天小结.wmv

3分23秒

08.编写测试selectOne方法的代码.avi

4分29秒

MySQL命令行监控工具 - mysqlstat 介绍

3分59秒

基于深度强化学习的机器人在多行人环境中的避障实验

56秒

了解岩土工程监测仪器多通道振弦传感器信号转换器

1分14秒

轨道安装式振弦传感器信号转换器主要结构与特点

53秒

岩土工程监测利器:多通道振弦传感器信号转换器指示灯说明

领券