有序数组简单的二分查找 没啥好说的 要注意一点是临界情况的分析 ,写错的话会死循环。还有mid的写法 lo+(hi-lo)/2防止溢出。
class Solution {
public int searchInsert(int[] nums, int target) {
if(nums==null||nums.length==0)
return 0;
int lo =0 ;
int hi = nums.length-1;
while(lo<=hi)
{
int mid = lo+(hi-lo)/2;
if(nums[mid]==target)
return mid;
else if(nums[mid]<target)
lo=mid+1;
else
hi=mid-1;
}
return lo;
}
}