Description:
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.
Example 1:
Input: [1,3,5,6], 5
Output: 2
Example 2:
Input: [1,3,5,6], 2
Output: 1
Example 3:
Input: [1,3,5,6], 7
Output: 4
Example 4:
Input: [1,3,5,6], 0
Output: 0
My code:
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var searchInsert = function(nums, target) {
for(let i = 0; i < nums.length; i++) {
if(target <= nums[i]) {
return i;
}
}
return nums.length;
};
Note: 因为是已经排序的数组,只需要用target与数组当前位比较,如果小于等于当前位,则返回当前位的下标,如果到循环结束,还是没有,则表明target是最大的,返回数组最大的下标+1即可。
网友评论