3
vector<vector<int>> threeSum(vector<int> &nums) {4
sort(nums.begin(), nums.end());5
vector<vector<int>> ans;7
for (int i = 0; i < nums.size() - 2; i++) {8
if (i > 0 && (nums[i] == nums[i - 1])) continue;10
int left_index = i + 1;11
int right_index = nums.size() - 1;13
while (left_index < right_index) {14
int threesome = nums[i] + nums[left_index] + nums[right_index];17
else if (threesome < 0)20
ans.push_back({nums[i], nums[left_index], nums[right_index]});22
while (((left_index < right_index) && nums[left_index] == nums[left_index + 1]))