解题思路:先定义一个unordered set,(会自动去重)。for循环遍历每个元素。若set中有与之相加等于S的元素,则输出这两个数,否则将这个数存入set中。
class Solution {
public:
vector<int> findNumbersWithSum(vector<int>& nums, int target) {
unordered_set<int>S;//定义新容器S
for(auto x:nums)//遍历nums中每个元素
{
if(S.count(target-x))return {x,target-x};//若有符合的元素,则输出这两个数
else S.insert(x);//否则将x存入S。
}
}
};