class Solution {
public:
vector<vector<int> > threeSum(vector<int> &num) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector<vector<int> > res;
sort(num.begin(), num.end());
if (num.size() < 3) return res;
vector<int> temp(3);
for (int k = 0; k < num.size() - 2; ++k)
{
int i = k + 1;
int j = num.size() - 1;
while (i < j)
{
if (num[k] + num[i] + num[j] > 0)
--j;
else if (num[k] + num[i] + num[j] < 0)
++i;
else
{
temp[0] = num[k];
temp[1] = num[i];
temp[2] = num[j];
res.push_back(temp);
++i; --j;
}
}
}
sort(res.begin(), res.end());
res.erase(unique(res.begin(), res.end()), res.end());
return res;
}
};
[Leetcode] 3sum
最新推荐文章于 2022-01-27 22:44:32 发布