Input: [1,3,5,6], 5 Output: 2
在一个数组中插入一个数字,输出下表,一个二分查找算法,时间复杂度O(logN)
class Solution {
public int searchInsert(int[] nums, int target) {
int low = 0;
int high = nums.length - 1;
int mid;
while (low <= high) {
mid = (low + high) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] > target) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return low;
}
}