二分查找时间复杂度应该是O(logn2).
需要注意查找的区间[left, right) ,我这里写的是左闭右开。
class Solution {
public int search(int[] nums, int target) {
if(nums == null || nums.length == 0){
return -1;
}
int left = 0;
int right = nums.length;
while(left < right){
int mid = left + (right - left) / 2;
if(nums[mid] == target){
return mid;
}else if(nums[mid] < target){
left = mid + 1;
}else if(nums[mid] > target){
right = mid;
}
}
return -1;
}
}