题一:两数之和
示例1:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例2:
输入:nums = [3,2,4], target = 6
输出:[1,2]
解题思路:
-
创建一个map
-
for循环遍历nums数组
-
用target减nums[i](用来计算那个数字能跟减去的数字相加得到target)
-
检查map里有没有这个数,如果有则返回结果,如果没有则把num[i]当作key,i当作value放入map中。
**这样放的好处:**map.has()检查的key,把数字当key,也就是实际的value。
图解:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QfAFlpi2-1646100099915)(D:\Users\ZhangHuan\Desktop\图片\Snipaste_2021-07-12_14-32-15.jpg)]
具体代码:
var