①哈希法思路
哈希表作用:
存储之前遍历过的元素(作为第一个数)
第二个数:
当前遍历的元素(作为第二个数)
补充: 哈希表没有元素则代表没有第一个数,当然就不符合条件。不会出现第二个数满足总和,就纳入结果集的情况
②代码实现
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target)
{
unordered_map<int,int>Hash;
for(int i = 0 ; i<nums.size() ; i++){
auto get = Hash.find(target-nums[i]);
if(get==Hash.end()){//找不到
Hash[nums[i]]=i;
}
else{
return {get->second,i};
}
}
return {};
}
};