二分法的模板题吧算是,给一个数字,请返回插入一个有序数组的位置。
时间O(logn)
空间O(1)
1 /**
2 * @param {number[]} nums
3 * @param {number} target
4 * @return {number}
5 */
6 var searchInsert = function(nums, target) {
7 let left = 0;
8 let right = nums.length - 1;
9 while (left <= right) {
10 let mid = Math.floor(left + (right - left) / 2);
11 if (nums[mid] === target) {
12 return mid;
13 } else if (nums[mid] > target) {
14 right = mid - 1;
15 } else {
16 left = mid + 1;
17 }
18 }
19 return left;
20 };