暴力寻找
class Solution {
public:
vector<vector<int>> threeSum(vector<int>& nums) {
vector<vector<int>>out;
if(nums.empty())return out;
int n=nums.size();
unordered_set<string>hashset;
if(n<3)return out;
for(int i=0;i<n-2;i++){
unordered_set<int>hashmap;
for(int j=i+1;j<n;j++){
vector<int>b;
auto it=hashmap.find(-nums[i]-nums[j]);
if(it!=hashmap.end()){
b.emplace_back(nums[i]);
b.emplace_back(*it);
b.emplace_back(nums[j]);
sort(b.begin(),b.end());
string s;
for(int k:b)s+=to_string(k);
if(!hashset.count(s)){
out.emplace_back(b);
hashset.insert(s);
}
}
else hashmap.insert(nums[j]);
}
}
return out;
}
};
超时,待更新。。。