gpt4 book ai didi

java - 为什么binarySearch方法没有返回正确的结果?

转载 作者:行者123 更新时间:2023-12-01 17:46:13 28 4
gpt4 key购买 nike

最近在研究Java中的数组,需要使用Arrays类中的方法binarySearch(arr, v)来搜索值v在数组中的索引数组arr(如果找到)。

然后我用一些不同的数组做了一些测试。当我尝试在数组 {4, 3, 2, 1} 中搜索值 4 时,我发现了 -5

有人可以解释一下吗?

您可以在这里查看http://tpcg.io/kibBmw

代码如下:

int[] arr   = {4, 3, 2, 1};
System.out.println(Arrays.binarySearch(arr, 4));

-5

最佳答案

您应该在二分搜索之前执行Arrays.sort(arr);。来自 Arrays.binarySearch 的文档:

Searches the specified array of ints for the specified value using the binary search algorithm. 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.

关于java - 为什么binarySearch方法没有返回正确的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55066007/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com