我的网站

         
当前位置: 主页 > 我的网站37 >

JS如何计算两数之和

时间:2024-02-01 20:45 来源:网络整理 转载:我的网站

题目:给定一个整数数组nums,和一个目标值target,请在nums数组中找到两个数字相加等于target,输出这两个整数的下标。

思路:

使用map(当然对象也可,但是性能相比map稍差些),循环nums,将当前循环下标a作为value,将目标值target减去当前循环项得到的值b作为key,储存到map中。问题在于对于b的理解,b其实就是我们要在nums中寻找的值,因为这个差值b加上刚才的循环项c即等于我们的目标值target,一旦找到这个差值,也就是我们要找的这个差值b所在的下标,另外就是当前循环项d。时间复杂度:O(n),空间复杂度:O(n)

const sum = function (nums, target) { const map = new Map(); for (let index = 0, len = nums.length; index

使用对象处理

const sum2 = function (nums, target) { const obj = {}; for (let index = 0, len = nums.length; index

当然,如果嵌套两层循环也是可以实现这个需求的,但是时间复杂度:O(n2),空间复杂度:O(n)

关注微信公众号,解锁更多技术文章