經(jīng)典算法 — 兩數(shù)之和
題目描述
- 給定一個整數(shù)數(shù)組 nums 和一個目標(biāo)值 target,請你在該數(shù)組中找出和為目標(biāo)值的那 兩個 整數(shù),并返回他們的數(shù)組下標(biāo)。
/**
* @param {number []} nums
* @param {number} target
* @return {number []}
*/
var twoSum = function(nums, traget) {
var map = new Map()
for(let i in nums) {
if(map.get(traget - nums[i])) {
return [map.get(traget - nums[i]), i]
} else {
map.set(nums[i], i)
}
}
return []
}
- 結(jié)論
兩數(shù)之和首先是雙遍歷(O(n * n))。
也可以遍歷兩次,第一次是把數(shù)組變成一個對象(key是數(shù)值,value是下標(biāo))。然后在遍歷一次(O(2 * n))
本次結(jié)果是用一次遍歷,滿足則返回,不滿足責(zé)放入map集合中
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。