#pragma region 15.三数之和
class Solution {
public:
vector> threeSum(vector& nums) {
vector> res;
int i = 0, j = 0, k = 0, tager = 0;
sort(nums.begin(), nums.end());//数组排序
for (i = 0; i < nums.size(); i++) {
if (nums[i] > 0) {
break;
}
else if (i > 0 && nums[i] == nums[i - 1]) {
continue;
}
tager = -nums[i];
j = i + 1;
k = nums.size() - 1;
while (j < k) {
if (nums[j] + nums[k] == tager) {
res.push_back({ nums[i], nums[j], nums[k] });
//必须j tager)
--k;
else
++j;
}
}
return res;
}
};
#pragma endregion



