Skip to content

LeetCode

1. 两数之和

梦开始的地方 ~~~ 🤣

image.png

思路

什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。

  • Key => 数组中的元素作为key,看元素是否出现过
  • Value => 存元素的下标

image.pngimage.pngimage.png

题解

typescript
var twoSum = function (nums, target) {
    const hash = new Map();

    for (let i = 0; i < nums.length; i++) {
        if (hash.has(target - nums[i])) {
            return [i, hash.get(target - nums[i])];
        }
        hash.set(nums[i], i);
    }
};

思考

  • 为什么会想到用哈希表 (什么时候用hash,看元素是否出现,存在)
  • 哈希表为什么用map (key -> value )
  • 本题map是用来存什么的
  • map中的key和value用来存什么的

把这四点想清楚了,本题才算是理解透彻了。

参考