给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。
时间复杂度:O(n^2)
时间复杂度:O(1)
function getTwoNums(nums,target){
let len = nums.length;
for(let p1 = 0;p1<len;p1++){
const findNum = target - nums[p1]
for(let p2 = p1+1;p2<len;p2++){
if(p2 === findNum){
return [p2,p1]
}
}
}
return null
}
时间复杂度:O(n)
空间复杂度: O(1)
function getTwoNums(nums,target){
let len = nums.length,numsMap = {}
for(let p = 0;p<len;p++){
const currentNum = numsMap[nums[p]]
if(currentNum>=0) return [currentNum,p]
const other = target - nums[p]
numsMap[other] = p
}
}
时间复杂度: O(n)
空间复杂度:O(1)
function getTwoNums(nums,target){
let len = nums.length,numsMap = new Map();
numsMap.set(nums[0],0)
for( let p = 1;p<len;p++){
const other = target - nums[p]
if(numsMap.get(other) != undefined) return [numsMap.get(other),p]
numsMap.set(other,p)
}
return null
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。