21xrx.com
2025-03-22 02:22:18 Saturday
文章检索 我的文章 写文章
我是如何使用 Javascript 实现两数之和的
2023-06-11 05:56:33 深夜i     13     0
Javascript 算法 数组

作为前端工程师,Javascript 是我必备的技能之一。今天我要向大家分享的是如何使用 Javascript 实现两数之和。

两数之和是一道经典的算法题,它的主要思想是利用哈希表(high map)查找元素。

以下是我使用Javascript 实现两数之和的代码示例:

script
function twoSum(nums, target) {
 const map = new Map();
 for(let i = 0; i < nums.length; i++) {
  const diff = target - nums[i];
  if (map.has(diff)) {
   return [map.get(diff), i];
  }
  map.set(nums[i], i);
 }
}
const nums = [2, 7, 11, 15];
const target = 9;
console.log(twoSum(nums, target)); // [0, 1]

以上代码中,我采用了 Map 数据结构,她提供了 O(1) 时间查找元素的复杂度,这个算法的时间复杂度是 O(n)。

在这个算法中,我们需要遍历整个数组,把差值(target - nums[i]) 存储到 Map 中作为 key,值作为索引。每次新遍历一个元素,我们就在 map 内检查是否存在匹配的值,如果存在,则返回当前索引和已匹配的索引。

在这个例子中,我们可以看到,输出了 nums[0] 和 nums[1],它们的和等于 target,因此它们实际上是非常好的解决方案。

总之,使用 Map,哈希表(high map)查找元素是实现两数之和非常好的一种方式。我相信我分享的算法能帮助你更好地理解 Javascript,并帮助你解决实际问题。

  
  

评论区

请求出错了