暴力方法 O(n^3)
class Solution {
public:
vector<vector<int> > threeSum(vector<int> &num) {
vector<vector<int> > res;
if(num.size() < 3)
return res;
for(int i = 0; i < num.size() - 2; i++) {
for(int j = i + 1; j < num.size() - 1; j++) {
for(int k = j + 1; k < num.size(); k++) {
vector<int> ans;
auto x = num[i] + num[j];
if(num[k] == -x) {
ans.push_back(num[i]);
ans.push_back(num[j]);
ans.push_back(num[k]);
}
if(ans.size()) {
sort(ans.begin(), ans.end());
res.push_back(ans);
}
}
}
}
sort(res.begin(), res.end());
res.erase( unique( res.begin(), res.end()), res.end() );
return res;
}
};