题目描述:
示例:
解题思路:
1.常规法
2.二分查找法
解:
1.常规法

2.二分查找法
public int search(int[] nums, int target) {
if(nums==null || nums.length==0){
return -1;
}
int l=0;
int r=nums.length-1;
while(l<=r){//l和r相等的情况,如:只有一个元素
int mid=(l+r)/2;//可以写成mid=l+(r-l)/2,防止其超过int类型的边界值
if(nums[mid]==target){
return mid;
}else if(nums[mid]>target){
r=mid-1;
}else{
l=mid+1;
}
}
return -1;
}
