Given a sorted array and a target value, return the index if the
target is found. If not, return the index where it would be if it were
inserted in order.You may assume no duplicates in the array.
Input: [1,3,5,6], 5 Output: 2
Input: [1,3,5,6], 2 Output: 1
Input: [1,3,5,6], 7 Output: 4
Input: [1,3,5,6], 0 Output: 0
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var searchInsert = function(nums, target) {
for(var i=0;i<nums.length;i++){
if(nums[i]==target){
return i;
}else{
if(i==nums.length-1){
return insert(nums,target);
}
}
}
};
function insert(arr,target){
for(var i=0;i<arr.length;i++){
if(target<arr[i]){
return i;
}else{
if(i==arr.length-1){
return arr.length;
}
}
}
}
思路:先判断是否有相同的,如果有就将其索引值返回,如果没有则去判断其可以插入的位置,判断数组里是否有值大于它,如果有,则获取其索引,如果没有,则会返回其数组长度。