给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

使用哈希表将会使问题特别简单,首先,我们将使用一次遍历将数组中的元素加入到Map中,key是当前元素的值,value是当前元素的索引。接下来,我们进行第二次遍历,第二次遍历我们将查找当前元素的目标元素(target−nums[i])是否在Map中,如果在,即找到目标值,返回两个元素的索引。注意一点的是,目标元素不能是当前元素!

实际上,我们把上面的两步合成一步,只用一次遍历即可完成,当遍历到第i个值后,我们把此元素的需要的目标值保存到Map中,后续遍历,找到目标的值,即完成遍历。