AcWing 75. 和为S的两个数字
原题链接
简单
作者:
葱花鸡蛋
,
2020-03-27 14:11:06
,
所有人可见
,
阅读 482
//0063 和为S的两个数字
class Solution {
public:
vector<int> findNumbersWithSum(vector<int>& nums, int target) {
multiset<int>buff; buff.clear();
for (auto t:nums) {
buff.insert(t);
}
int a, b;
for (auto t:nums) {
//可重复的multiset计数
//y总的代码要简洁很多, 我这里需要判断相等,但是y总的不需要
//一个个的存到无序hash
if (buff.count(target - t) >= 1) {
if (target == 2 *t && buff.count(t) >= 2) {
a = b = t;
return vector<int>{a, b};
} else {
a = t, b = target - t;
return vector<int>{a, b};
}
}
}
return vector<int>{};
}
};