给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
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]???