分析
看到这题第一想到的就是二分查找。不用说了直接上代码
代码
public class dome {
public static int result(int[] nums, int target) {
//设定区间索引
int left = 0;
int right = nums.length -1;
while (left<=right) {
int mid = left + (right - left) / 2;//防止溢满
if (nums[mid] == target) {
return mid;//找到直接返回索引
}else if (nums[mid] > target) {
right = mid - 1;//缩小查找范围
}else if (nums[mid] < target) {
left =mid + 1;//缩小查找范围
}
}
return -1;//找不到返回-1
}