32 lines
573 B
JavaScript
32 lines
573 B
JavaScript
/**
|
|
* @param {number[]} nums
|
|
* @param {number} target
|
|
* @return {number}
|
|
*/
|
|
const searchInsert = function (nums, target) {
|
|
|
|
};
|
|
|
|
/*
|
|
直接利用二分查找
|
|
*/
|
|
let pos = nums.length;
|
|
let left = 0;
|
|
let right = nums.length - 1;
|
|
|
|
// 二分查找知道left>right结束查找
|
|
while (left <= right) {
|
|
const mid = Math.floor((left + right) / 2);
|
|
// 如果target<nums[mid] 则更新pos
|
|
if (target === nums[mid]) return mid;
|
|
|
|
if (target < nums[mid]) {
|
|
pos = mid;
|
|
right = mid - 1;
|
|
continue;
|
|
}
|
|
|
|
left = mid + 1;
|
|
}
|
|
|
|
return pos; |