java - 找到最大最频繁元素

标签 java arrays sorting frequency

我有一个 Java 中的 ArrayList,其值为

4, 4, 3, 3, 5, 6

我需要找到最常见的值。如果多个值出现的次数相同,则返回最大的一个。

所以在上面的例子中,我需要返回值4。

private int getFrequentNumber(ArrayList<Integer> arr){
    int popular = arr.get(0);
    int count = 1;
    int tempcount = 0;
    int temp = 0;

    for(int i = 0; i < arr.size(); i++) {
        temp = arr.get(i);
        tempcount = 0;
        for(int j = 1; j < arr.size(); j++) {
            if(temp == arr.get(j))
                tempcount++;
        }
        if (tempcount > count) {
            popular = temp;
            count = tempcount;
        }
    }
    return popular;
}

现在我有这段代码,因此它返回最常见的数字,但我需要帮助返回最大最常见的数字。

最佳答案

第 1 步:对 ArrayList<Integer> arr 进行快速排序;

第 2 步:对 ArrayList<Integer> arr 进行迭代正如您所做的那样。

关于java - 找到最大最频繁元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49462359/

相关文章:

c# - 将 JSON 对象反序列化为 C# 列表

C - 计算字符串数组中的字符数

c++ - 在 C++ 中自定义排序字符串

javascript - 如何对D3中的节点进行排序,以使连接路径清晰明了?

java - java swing 中的 Hibernate 和库 sql cp30

java - C++ 或 java openid 中继器。如何在桌面应用程序中使用 openid 进行登录,以及安全注意事项?

java - Hibernate - 通过 bean 获取

java - 为什么我在 Spring 实例化的组件中找到静态字段?

java - 更改 JTextArea 中的文本

mysql - 如何根据 MySQL 5.5.x 中单独表中的元数据对主表进行排序?