题目描述
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例
1 | 给定 nums = [2, 7, 11, 15], target = 9 |
解法一
1 | class Solution { |
这种方法通过两层遍历,称为暴力穷举,时间复杂度为O(n^2),效率极低。
解法二
1 | class Solution { |
该方案利用了HashMap无需遍历即可查询key的特点,只进行一次遍历即可得到结果,时间复杂度也降为了O(n),但要注意处理nums存在两个相同元素时可能互相覆盖HashMap中key的情况。