【发布时间】:2021-11-09 04:11:02
【问题描述】:
public class binsearch {
public static void main(String args[])
{
int arr[]={2,45,-21,56,23};
int target=45;
int answer=binarysearch(arr, target);
System.out.println(answer);
}
static int binarysearch(int arr[],int target)
{
int start=0;
int end=arr.length-1;
int mid=start+end/2;
while(start<=end)
{
if(target<arr[mid])
{
mid=end-1;
}
else if(target>arr[mid])
{
mid=mid+1;
}
else
{
return mid;
}
}
return -1;
}
}
我已尝试多次运行此代码,但它就是不运行。我认为这段代码中的二进制搜索逻辑没有任何问题。请帮忙。谢谢。
【问题讨论】: