怎么计算两数之和(算法题)

原创
小哥 3年前 (2022-10-21) 阅读数 94 #技术教程
文章标签 算法

题目

给定一个整数数组 nums 和整数目标值 target,请在此数组中查找 和目标值 target 的那 两个 整数,并返回它们的数组下标。

您可以假设每个输入将只对应于一个答案。但是,数组中的相同元素不能在答案中重复。

您可以按任何顺序返回答案。

思路

  • 创建一个空的 哈希表
  • 遍历数组,查看 target与当前元素的差异 它是否在哈希表中。
  • 如果它不存在,则使用当前元素。key该值是当前元素的索引值。
  • 如果是,则直接返回。 当前元素的索引值哈希表中存在的元素的索引值。

    var twoSum = function (nums, target) {
        let map = {}
        for (let i = 0; i < nums.length; i++) {
            let number = nums[i]
            let number2 = target - number
            if (number2 in map) {
                return [map[number2], i]
            } else {
                map[number] = i
            }
        }
    }
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门