AcWing 75. 和为S的两个数字-强化命题版
原题链接
简单
作者:
西加加
,
2024-03-27 08:39:46
,
所有人可见
,
阅读 1
把i = j
删掉就能获得所有和为target
的组合(如果原数组有重复,结果可能也会有重复);
class Solution {
public:
vector<int> findNumbersWithSum(vector<int>& nums, int target) {
int len = nums.size();
sort(nums.begin(), nums.end());
vector<int> ret;
for (int i = 0, j; i < len - 1; i ++) {
for (j = len - 1; j > i; j --) {
if ((nums[i] + nums[j]) > target)
len = j;
if ((nums[i] + nums[j]) == target) {
ret.insert(ret.begin(), {nums[i], nums[j]});
i = j;
}
}
}
return ret;
}
};