我想找到一个目标值 4 在序列 [1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6] 中首先出现的位置。当我使用 java.util.Arrays.binaySearch 时,它返回的索引是 9,但我预计是 7。
我看java.util.Arrays.binaySearch源码
我发现了一些评论:
如果数组包含多个具有指定值的元素,则无法保证找到哪一个。
那么如何在Java中实现一个lower_bound二分查找算法,返回目标值最先出现的地方。
注意:lower_bound的概念来自C++,但我对C++不是很了解。
慕容708150
海绵宝宝撒
慕无忌1623718
相关分类