gpt4 book ai didi

java - 如何获取 Java TreeSet 中最接近的前 k 个元素?

转载 作者:行者123 更新时间:2023-11-29 06:52:08 32 4
gpt4 key购买 nike

假设我有这个 TreeSet<Integer> :

1 3 4 6 8 9 10

我想要顶部- k “最接近”输入数字的元素 x .

例如,使用 k=3x=5我想得到:

4 6 3

有什么办法吗?

最佳答案

看来你需要做的是得到一个headSet所有元素都小于目标元素和 tailSet对于更大的元素。现在该算法将有点类似于合并排序的合并阶段。

  • 参加 descendingIterator耳机和一个 iterator在尾部上。调用这些 c_descc_asc
  • 检查两个元素中哪个更接近目标值x。取这个值并推进迭代器
  • 注意其中一个迭代器何时位于相应 Collection View 的末尾
  • 继续这样做,直到你获取了 k 个元素

关于java - 如何获取 Java TreeSet 中最接近的前 k 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44525091/

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