专栏首页*坤的Blogleetcode 18 4Sum

leetcode 18 4Sum

class Solution {
public:
    vector<vector<int> > fourSum(vector<int> &nums, int target) {
        set<vector<int> > res;
        sort(nums.begin(), nums.end());
        for (int i = 0; i < int(nums.size() - 3); ++i) {
            for (int j = i + 1; j < int(nums.size() - 2); ++j) {
                int left = j + 1, right = nums.size() - 1;
                while (left < right) {
                    int sum = nums[i] + nums[j] + nums[left] + nums[right];
                    if (sum == target) {
                        vector<int> out;
                        out.push_back(nums[i]);
                        out.push_back(nums[j]);
                        out.push_back(nums[left]);
                        out.push_back(nums[right]);
                        res.insert(out);
                        ++left; --right;
                    } else if (sum < target) ++left;
                    else --right;
                }
            }
        }
        return vector<vector<int> > (res.begin(), res.end());
    }
};

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • leetcode 15 3Sum

    @坤的
  • leetcode 27 Remove Element

    @坤的
  • leetcode 16 3Sum Closest

    @坤的
  • LeetCode71|数组中第K个最大元素

    请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

    码农王同学
  • LeetCode 119:杨辉三角 II Pascal's Triangle II

    Given a non-negative index k where k ≤ 33, return the kth index row of the Pasca...

    爱写bug
  • ​ LeetCode 118:杨辉三角 II Pascal's Triangle II

    Given a non-negative index k where k ≤ 33, return the kth index row of the Pasca...

    爱写bug
  • Leetcode 15 3Sum + 有趣的小BUG

    Given an array S of n integers, are there elements a, b, c in S such that a + b...

    triplebee
  • Leetcode 18. 4Sum

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.cs...

    Tyan
  • LintCode-373.奇偶分割数组

    悠扬前奏
  • 一个易于理解的C++全排列(permutation)实现

    通常我们用这两条语句可以得到一个数组的全排列: sort(nums.begin(),nums.end()); //调用next_permutation求全排列...

    kalifa_lau

扫码关注云+社区

领取腾讯云代金券