在 Java 中,Arrays.binarySearch 总是搜索整个数组。有时数组的一部分没有被填充。是否有任何功能可以搜索数组的一部分,例如
int binarySearch(int[] a, int end, int value)
是的,我可以使用 TreeMap<Integer>
但我有很多这些和TreeMap<Integer>
使用比 int[] 多几倍的内存。
是的,我当然可以编写二进制搜索,但鉴于 Arrays.binarySearch 的存在,我似乎不必自己编写。
最佳答案
有一个重载的Arrays.binarySearch()
正是这样做的:
public static int binarySearch(int[] a,
int fromIndex,
int toIndex,
int key)
它在 Java 1.6+ 中可用。
关于Java:想要二进制搜索数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11022075/