binary search
/*
while(left <= right)
适合在脑子里自己walk through思路,更好的理解BS
BS什么都没有改变,除了return left
*/
class Solution {
public int searchInsert(int[] nums, int target) {
if(nums == null || nums.length == 0)
return -1;
int left = 0, right = nums.length - 1;
while(left <= right) {
int mid = left + (right - left) / 2;
if(nums[mid] == target) {
return mid;
} else if(nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return left;
}
}