java - Arrays.binarySearch() 如何在不排序的情况下工作

标签 java arrays sorting binary-search

我很想知道当我使用 Arrays.binarySearch 而不进行排序时得到的答案背后的逻辑是什么。

int d[]={6,-4,12,0,-10};
int x=12;
int y=Arrays.binarySearch(d,x);

   System.out.println(y);

输出:2

我正在准备一个java竞赛,其中会出现这种罕见的情况,所以我问了这个问题。请帮助提供任何可能的解决方案。

最佳答案

你很幸运。 Java 实现要求对数组进行排序以保证正确的答案:

The array must be sorted (as by the sort(int[]) method) prior to making this call. If it is not sorted, the results are undefined.

Source

关于java - Arrays.binarySearch() 如何在不排序的情况下工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19756565/

相关文章:

ios - 在ios中获取Json数据

java - 如何使用 Java 中的 JRecord 识别抄写本中字段的级别?

java - 在 Eclipse 中添加 WebSphere 时出错

c - 避免需要初始化数组的技巧

javascript - Java用Rhino调用JS(未定义Uint8Array)

sorting - 关于在单列中查找重复项的宏的建议

sorting - GrailsWhere 具有多个排序字段的查询

java - 在 O(log(N)) 时间内查找排序数组中一定范围内的整数数量的高效算法?

java - 通过 Ajax 从 Google Web Toolkit 加载 HTML 模板?

java - 哪个线程在并发线程中首先完成?