仅作备份 效率太低了
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var searchInsert = function(nums, target) {
let len = nums.length;
function findIndex(start = 0, end = len - 1){
if(nums[start] >= target){
return start;
}
if(nums[end] === target){
return end;
}
if(nums[end] < target){
return end + 1;
}
let middle = parseInt((start + end) / 2);
if(target === nums[middle]){
return middle;
}
if(middle > 0 && target > nums[middle - 1] && target < nums[middle]){
return middle;
}
if(middle < (len - 1) && target > nums[middle] && target < nums[middle + 1]){
return middle + 1;
}
if(target < nums[middle]){
return findIndex(start, middle);
}
else{
return findIndex(middle, end);
}
}
return findIndex();
};
复制代码