gpt4 book ai didi

java - 从 N 个列表中查找 K 个最大值

转载 作者:行者123 更新时间:2023-12-01 06:56:55 25 4
gpt4 key购买 nike

我有要求-1. 列表/数组中有随机值,我需要找到 3 个最大值。2.我有一个值池,每次这个池更新可能是每5秒一次,现在每次更新后,我都需要从列表池中找到3个最大值。

I thought of using Math.max thrice on the list but I dont think it as a very optimized approach. > Won't any sorting mechanism be costly as I am bothered about only top 3 Max Values , why to sort all these

请建议在JAVA中执行此操作的最佳方法

最佳答案

  1. 对列表进行排序,获取 3 个最大值。如果您不想进行排序,请迭代并维护 n 个最大值。
  2. 维护池是一个已排序的集合。

更新:仅供引用 Guava 有一个 Ordering 类,其中有一个 greatestOf 方法来获取集合中的 n 个 max 元素。您可能想检查一下实现情况。

Ordering.greatestOf

关于java - 从 N 个列表中查找 K 个最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9941613/

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