class BinarySearchNoRecur
package Algorithm;
/**
* 二分查找法的非递归实现
* 数组必须是升序
* @author coffee
* @Date 2021-04-05 17:35
*/
public class BinarySearchNoRecur {
public static void main(String[] args) {
int[] arr = {1,3,8,10,11,67,100};
System.out.println(arr[binarySearch(arr, 3)]);
}
public static int binarySearch(int[] arr,int target){
int left = 0;
int right = arr.length - 1;
while (left <= right){
int mid = (left + right) / 2;
if (arr[mid] == target){
return mid;
}else if (arr[mid] > target){
right = mid - 1;
}else {
left = mid + 1;
}
}
return -1;
}
}
2457

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



