二分查找(折半查找)
1、寻找一个数
二分查找的通用模板如下:
public int binarySearch(int[] nums, int target) {int left = 0;int right = nums.length - 1;while(left <= right) {/** 注意!* 这里采用 int mid = (right - left) / 2 + left; 是为了防止溢出* 使用 int mid = (right + left) / 2; 得出来的结果值是一样的**/int mid = (right - left) / 2 + left; //取中间数if (nums[mid] == target) {return target;}else if (nums[mid] < target) {left = mid + 1;}else if (nums[mid] > target) {right = mid - 1;}}return ...;}
