[AcWing 75] 和为S的两个数字

点击查看代码
class Solution {
public:
vector<int> findNumbersWithSum(vector<int>& nums, int target) {
unordered_set<int> hash;
for (int i = 0; i < nums.size(); i ++) {
if (hash.count(target - nums[i])) return vector<int>{target - nums[i], nums[i]};
else hash.insert(nums[i]);
}
return vector<int>{};
}
};
- 用无序集合 hash 记录数组下标在 i 前面的值,当 target - nums[i] 出现在 hash 中时,说明 nums[i] 和 target - nums[i] 就是要找的两个数字;

浙公网安备 33010602011771号