题目
- 输入一个数组和一个数字
s
,在数组中查找两个数,使得它们的和正好是s
。 - 如果有多对数字的和等于
s
,输出任意一对即可。 - 你可以认为每组输入中都至少含有一组满足条件的输出。
- 数据范围
数组长度 [1, 1002]。
示例
- 输入:[1, 2, 3, 4] , sum = 7
- 输出:[3, 4]
代码
- 哈希表
class Solution {
public:
vector<int> res;
vector<int> findNumbersWithSum(vector<int>& nums, int target) {
unordered_map<int, int> map;
for(int i = 0; i < nums.size(); i++){
map[nums[i]] = i;
}
for(auto a : nums){
if(map[target-a]){
res.push_back(a);
res.push_back(target-a);
return res;
}
}
return res;
}
};
代码分析
:
题目
:和为S的两个数字