(查找)01-二分查找-a
1 import java.util.*; 2 3 public class Solution { 4 /** 5 * @param nums int整型一维数组 6 * @param target int整型 7 * @return int整型 8 */ 9 public int search (int[] nums, int target) { 10 // 从左开始遍历的指针 11 int l = 0; 12 // 从右开始遍历的指针 13 int r = nums.length - 1; 14 // 左右指针开始遍历 15 while(l <= r){ 16 // 获取中间位置的索引值 17 int m = (l + r) / 2; 18 // 判断中间位置的值 19 if(nums[m] == target) { 20 return m; 21 } 22 if(nums[m] > target) { 23 // 进入左区间 24 r = m - 1; 25 } else { 26 // 进入右区间 27 l = m + 1; 28 } 29 } 30 // 未找到 31 return -1; 32 } 33 }