[]算法]二分查找

测试

 

 

 

 

 

 

 

 

 

 原本10次的循环优化成了4次



源代码
public static void main(String[] args) {
int target = 9;
int[] nums = new int[]{-1, 0, 3, 5, 9, 12, 20, 21, 22, 23,25};
int search = search(nums, target);
System.out.println(search);
}

public static int search(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while (left <= right) {
int mid = (right + left) / 2;
int num = nums[mid];
if (num == target) {
return mid;
} else if (num > target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return -1;
}
posted @ 2023-02-22 09:52  Ash灬  阅读(19)  评论(0)    收藏  举报