/*
* @lc app=leetcode.cn id=35 lang=typescript
*
* [35] 搜索插入位置
*/
//o(logn)指采用二分查找方法,最后通过三元运算符判断出目标数值应该存在的下标。
// @lc code=start
function searchInsert(nums: number[], target: number): number {
let left = 0,
middle = 0,
right = nums.length;
while (left < right) {
middle = left + ((right - left) >> 1);
if (nums[middle] === target) {
return middle;
} else if (nums[middle] < target) {
left = middle + 1;
} else {
right = middle;
}
}
return nums[left] < target ? left + 1 : right;
}
// @lc code=end