【发布时间】:2022-02-04 22:16:19
【问题描述】:
当我更改目标值时,二进制搜索不适用于数组中的数字 5,3 和 7 程序显示没有结果。
包 com.company;
public class Main {
public static void main(String[] args) {
int[] array = {8, 2, 5, 3, 4, 7, 6, 1,9};
int low=0;
int target=4;
int high=array.length-1;
while (low<=high){
int middle=low+(high-low)/2;
int value=array[middle];
System.out.println(middle);
if(value<target){
low=middle+1;
}
else if(value>target)
high=middle-1;
else
{
System.out.println("found "+middle);
break;
}
}
}
}
我需要在代码中更改什么
【问题讨论】:
-
请编辑您的标签以表明这是哪种语言 - 可以假定它不止一种
标签: binary-search