import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param target int整型
* @return int整型
*/
public int search (int[] nums, int target) {
// write code here
int length = nums.length; //数组长度
if(length == 0){ //如果数组长度为0,则没有目标值
return -1;
}
int left = 0; //数组最小值下标
int right = length-1; //数组最大值下标
int mid = 0; //数组中值下标
while (left <= right){ //循环,二分遍历数组,直到最小值大于最大值,没有找到目标值
mid = (left + right)/2; //获取中值下标
if(nums[mid] == target){ //将目标值与中值比较,如果相等,则返回下标索引
return mid;
}else if(nums[mid] > target){ //中值大于目标值,目标值只可能再左边数组
right = mid-1;
}else { //中值小于目标值,目标值只可能在右边数组
left = mid+1;
}
}
return -1;
}
}
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param target int整型
* @return int整型
*/
public int search (int[] nums, int target) {
// write code here
int length = nums.length; //数组长度
if(length == 0){ //如果数组长度为0,则没有目标值
return -1;
}
int left = 0; //数组最小值下标
int right = length-1; //数组最大值下标
int mid = 0; //数组中值下标
while (left <= right){ //循环,二分遍历数组,直到最小值大于最大值,没有找到目标值
mid = (left + right)/2; //获取中值下标
if(nums[mid] == target){ //将目标值与中值比较,如果相等,则返回下标索引
return mid;
}else if(nums[mid] > target){ //中值大于目标值,目标值只可能再左边数组
right = mid-1;
}else { //中值小于目标值,目标值只可能在右边数组
left = mid+1;
}
}
return -1;
}
}