Example #1
0
 vector<vector<int>> threeSum(vector<int>& nums) {
     vector<vector<int>> ret;
     sort(nums.beign(), nums.end());
     for (int i = 0; i < n; i++) {
         int l = i + 1, r = nums.size() - 1;
         while (l < r) {
             while (nums[l] + nums[r - 1] + nums[i] > 0 && r > l) r--;
             if (nums[l] + nums[r] + nums[i] == 0) {
                 ret.push_back(_3Int2Vector(nums[i], nums[l], nums[r]));
             }
             l++;
         }
     }
     return ret;
 }