每日一题——二分查找
public int BinarySearch(int[] a, int x) {
int low=0,high=a.length-1,mid=0;
if (x<a[low]||x>a[high]||low>high) {
return -1;
}
while (low<=high) {
mid=(low+high)/2;
if (a[mid]<x) {
low=mid+1;
}else if (a[mid]>x) {
high=mid-1;
}
else {
return mid;
}
}
return -1;
}
}
面试差点没写出来——干!
public int BinarySearch(int[] a, int x) {
int low=0,high=a.length-1,mid=0;
if (x<a[low]||x>a[high]||low>high) {
return -1;
}
while (low<=high) {
mid=(low+high)/2;
if (a[mid]<x) {
low=mid+1;
}else if (a[mid]>x) {
high=mid-1;
}
else {
return mid;
}
}
return -1;
}
}
面试差点没写出来——干!
全部评论
相关推荐
07-18 15:12
华南理工大学 Java 
点赞 评论 收藏
分享