LeetCode算法题:两数之和
需求描述:
给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数元素,并返回他们的下标。
你可以假设每种输入只会对应一个答案。但是数组中,同一个元素不能使用两遍。
示例:
给定 nums=[2,7,11,15],target=9
返回 [0,1]
思路解析:
首先我们可以定义一个哈希表map,然后循环遍历给定数组nums,每循环一次都要判断在map中是否存在一个key与当前数组元素num[i]相加等于target值,如果key值存在,那么就直接返回两个数组元素的下标,数组当前元素的下标为i,与之对应的target-num[i]的下标可以通过map.get(key)的方式获得;如果key值不存在就将当前元素nums[i]和下标i按照key-value的方式存入到map中。
代码实现:
运行结果: