gpt4 book ai didi

java - 是否有一种数据结构能够获取 N 个最大元素的集合,用 Java 实现?

转载 作者:行者123 更新时间:2023-11-30 10:33:16 25 4
gpt4 key购买 nike

Java 中有 TreeSet 数据结构,它提供获取 1 个最大元素的能力。我需要允许收集 N 个最大元素的数据结构。

我需要这样的东西:

GreatestN<Integer> greatest = new GreatestN<>(Arrays.asList(5, 2, 1, 7));
greatest.getN(2); // returns {1, 2}
greatest.getN(3); // returns {1, 2, 5}

greatest.add(0);
greatest.getN(2); // returns {0, 1}

最佳答案

您可以对您的列表进行排序,然后传递索引值以获得最大的数字。

    List<Integer> greatest = Arrays.asList(5, 2, 1, 7);
Collections.sort(greatest); // By default sorts ascending
System.out.println(greatest.get(greatest.size()-1)); //will give you greatest element in the list.
//System.out.println(greatest.get(greatest.size()-1-nthNumber));
System.out.println(greatest.get(0));//will give you lowest element in the list.

关于java - 是否有一种数据结构能够获取 N 个最大元素的集合,用 Java 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com