假设我有这个数组(它实际上是 255 长,值最大为 int.MaxValue):
int[] lows = {0,9,0,0,5,0,0,8,4,1,3,0,0,0,0};
我想从这个数组中获取一个值等于或小于我的数字的索引。
number = 7 -> index = 4
number = 2 -> index = 9
number = 8 -> index = 7
number = 9 -> index = 1
找到它的最快方法是什么?
到目前为止,我使用的是线性搜索,但事实证明这对我的需要来说效率太低,因为即使这个数组只有 255 长,值也会被搜索几百万次。
我需要与 Java 中使用的 TreeSet.floor(E) 相同的东西。我想使用 Dictionary,但我不知道它是否能像我需要的那样找到第一个更小或相等的值。
最佳答案
关于c# - 从数组中查找相等或最接近的较小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13215065/