public class BinarySearch {
public static void main(String[] args) {
int[] a = {1,3,4,6,7};
int v = 0;
System.out.print(binarySearch(a,v));
}
public static int binarySearch(int[] a,int value) {
int start = 0;
int end = a.length - 1;
int mid =0 ;
while (start <= end) {
mid = (start + end) / 2;
if (a[mid] == value) {
return a[mid];
} else if (a[mid] < value) {
start = mid + 1;
} else {
end = mid - 1;
}
}
if(value >a[a.length-1]){
return a[mid];
}else if(a[0]<value && value<a[a.length-1]){
return a[mid-1];
}else {
return value;
}
}
}二分算法(如果要查找的数不存在返回比该值小的最大值)
最新推荐文章于 2025-10-29 17:15:00 发布
本文介绍了一个简单的二分查找算法实现。该算法采用Java编写,通过递归的方式在一个已排序的整数数组中查找指定的值。如果找到该值,则返回对应的数组元素;如果没有找到,根据特定条件返回最接近的值。
698

被折叠的 条评论
为什么被折叠?



