LeetCode
梦开始的地方 ~~~ 🤣
思路
什么时候使用哈希法,当我们需要查询一个元素是否出现过,或者一个元素是否在集合里的时候,就要第一时间想到哈希法。
- Key => 数组中的元素作为key,看元素是否出现过
- Value => 存元素的下标
题解
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用来存什么的
把这四点想清楚了,本题才算是理解透彻了。