gpt4 book ai didi

c# - .NET 相当于 Java 的 TreeSet.floor 和 TreeSet.ceiling

转载 作者:行者123 更新时间:2023-12-04 12:42:49 27 4
gpt4 key购买 nike

例如,有一个二叉搜索树,其中包含一系列值。在添加新值之前,我需要检查它是否已经包含它“几乎重复”。我有 Java 解决方案,它只是执行地板和天花板以及完成这项工作的进一步条件。

JAVA : 给定一个 TreeSet , floor()返回此集合中小于或等于给定元素的最大元素; ceiling()返回此集合中大于或等于给定元素的最小元素

TreeSet<Long> set = new TreeSet<>();

long l = (long)1; // anything
Long floor = set.floor(l);
Long ceil = set.ceiling(l);

C# : 最近的数据结构似乎是 SortedSet<> .任何人都可以建议获得输入值的地板和天花板结果的最佳方法吗?
SortedSet<long> set = new SortedSet<long>();

最佳答案

如上所述,以上不是答案,因为这是我们期望对数时间的树。 Java 的 floor 和天花板方法是对数的。 GetViewBetween 是对数的,Max 和 Min 也是对数,所以:

地板为SortedSet<long> :sortedSet.GetViewBetween(long.MinValue, num).Max
天花板 SortedSet<long> :sortedSet.GetViewBetween(num, long.MaxValue).Min

关于c# - .NET 相当于 Java 的 TreeSet.floor 和 TreeSet.ceiling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52179987/

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