const target = 9 let nums = [2,11,7,15] let res = [0,1] let record_map = new Map() function main(){ if( nums.length<=2) { return res } for (var i = nums.length - 1; i >= 0; i--) { if(!record_map.has(target - nums[i])){ record_map.set(nums[i],i) }else{ res=[] res.push(i) res.push(record_map.get(target-nums[i])) break } } console.log(res) return res }
本文介绍了一种解决两数之和问题的高效算法。通过使用哈希表记录已遍历过的数字及其索引,该算法能在O(n)的时间复杂度内找到目标和的两个数字在数组中的位置。

被折叠的 条评论
为什么被折叠?



