我正在尝试找到一个要在我的 Java 项目中使用的数据结构。我想要做的是从一组数字中获得低于任意数字的下一个最大值,或者如果不存在这样的数字则通知。
示例 1) 我的任意数字是 7.0。{3.1, 6.0, 7.13131313, 8.0} 我需要从这个集合中得到的数字是 6.0。
示例 2)我的任意数字是 1.0。{2.0, 3.5555, 999.0} 集合中不存在下一个最高数字,所以我需要知道它不存在。
我能想到的最好的方法是通过数组进行索引和比较,一旦我遍历了我的任意数字,就返回 1 步。在最坏的情况下,虽然我的时间复杂度是 O(n)。有没有更好的办法?