给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
leetcode上秒过的题目,到了就只过了14个测试用例,我很费解 /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param nums int整型一维数组 * @param target int整型 * @return int整型 */ function searchInsertPosition( nums , target ) { // write code here let index = nums.indexOf(target) if(index !== -1){ return index }else{ return [...nums,target].sort((a,b) => a-b).indexOf(target) } } module.exports = { searchInsertPosition : searchInsertPosition };
function searchInsertPosition( nums , target ) { var index = "" if(nums.indexOf(target)>-1){ index = nums.indexOf(target) return index }else{ nums.unshift(target) nums.sort(function(a , b){ return a-b }) index = nums.indexOf(target) return index } // write code here }本题先用indexof判断数组中是否存在target目标值,如果存在,直接返回索引值,如果不存在,将target加入到数组中,再用sort排序,之后再返回索引值。不过不明白,题目说不考虑重复,为何用例要用[1,1,1,1,1,1]???