力扣启蒙题1:两数之和Two Sum就是给出一个数组以及一个要求的target。
其中一个常见的方法也是最暴力的方法就是一个一个相加,排除错误答案,输出正确答案。
但是,所耗费的时间相较另一种方法更久,运算也更费间。
所以我在此用学得的另一种方法《哈希表法》来讲解Two Sum。
哈希表法大意是将元素(key)和索引(value)
我们以15、11、2、7为元素。
以0、1、2、3为索引。
Target函数为9。
利用哈希表法就可以简便又快捷的找出目标函数所组成的元素集。
上图为该方法的伪代码。
1 fun(nums,target) []:
result = []
map = HashTable()
创建哈希表
2 for i in [0,len(nums)]:
map.add(nums[i],i)
for j in [0,len(nums)]:
重新建立数组
3 diff为差值的意思,当程序运行时
测试target值,当差值不为0时进行下一次查找。
我们若是用python来进行编码则需要输入两遍return result。
Java则只需要输入一遍,保证输出。
数媒202 潘zy