题解 | #三数之和#
class Solution { public: vector<vector<int> > threeSum(vector<int>& num) { vector<vector<int>> myTwoVec; set<vector<int>> myset; for (int i = 0; i < num.size(); i++) { int twosum = 0 - num[i]; map<int, int> mapA{}; for (int j = i + 1; j < num.size(); j++) { if (!mapA[twosum - num[j]]) mapA[num[j]] = 1; else { vector<int> mytempvec{num[i], twosum - num[j], num[j]}; sort(mytempvec.begin(), mytempvec.end()); myset.insert(mytempvec); } } } for (auto i : myset) myTwoVec.push_back(i); return myTwoVec; } };
set去重+自动排序