class Solution {
public:
vector<vector<int> > threeSum(vector<int> &num) {
sort(num.begin(),num.end());
set<vector<int>>ans;
vector<vector<int>>res;
if(num.size()<3)return res;
for(int i=1;i<=num.size()-2;i++)
{
int l=0,r=num.size()-1;
while(l<i&&r>i)
{
int k=num[l]+num[r];
if(k+num[i]==0)
{
ans.insert({num[l],num[i],num[r]});
l++;
}
else if(k+num[i]>0)r--;
else l++;
}
}
for(auto x:ans)res.push_back(x);
return res;
}
};

京公网安备 11010502036488号