Leetcode: 4Sum

原创 2016年08月31日 16:41:16
class Solution {
public:
    vector<vector<int>> fourSum(vector<int>& nums, int target) {
        vector<vector<int> >answer;
        set<vector<int> >ans;
        int n=nums.size();
        if(n<4){
            return answer;
        }
        sort(nums.begin(),nums.end());
        for(int i=0;i<n;i++){
            for(int j=i+1;j<n;j++){
                int sum=nums[i]+nums[j];
                int flag=target-sum;
                int begin=j+1,end=n-1;
                
                while(begin<end){
                if(nums[begin]+nums[end]==flag){
                    vector<int>Q;
                    Q.push_back(nums[i]);
                    Q.push_back(nums[j]);
                    Q.push_back(nums[begin]);
                    Q.push_back(nums[end]);
                    ans.insert(Q);
                    begin++;
                    end--;
                }
                else if(nums[begin]+nums[end]>flag){
                    end--;
                }
                else{
                    begin++;
                 }
                }
            }
        }
                set<vector<int> >::iterator iter=ans.begin();
                for(;iter!=ans.end();iter++){
                    answer.push_back(*iter);
                }
            
        
        return answer;
    }
};

版权声明:本文为博主原创文章,欢迎指教~

Leetcode: 4Sum

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar...
  • doc_sgl
  • doc_sgl
  • 2013年10月08日 12:51
  • 7419

18. 4Sum Leetcode Python

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar...
  • hyperbolechi
  • hyperbolechi
  • 2015年01月17日 11:55
  • 851

[LeetCode] 018. 4Sum (Medium) (C++/Java/Python)

[LeetCode] 018. 4Sum (Medium) (C++/Java/Python)
  • hcbbt
  • hcbbt
  • 2015年03月04日 17:57
  • 2915

(Java)LeetCode-18. 4Sum

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = t...
  • u012848330
  • u012848330
  • 2016年05月30日 19:59
  • 893

LeetCode 18 4Sum (C,C++,Java,Python)

Problem: Given an array S of n integers, are there elements a, b, c, and d in S such that a + b...
  • runningtortoises
  • runningtortoises
  • 2015年05月10日 15:04
  • 1372

leetcode 18 -- 4Sum

4Sum 题目:Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c...
  • wwh578867817
  • wwh578867817
  • 2015年06月04日 15:12
  • 1061

Leetcode 454. 4Sum II 四数之和2 解题报告

1 解题思想首先,这是一道远古之前的题的进化版: Leetcode #18 4Sum 四数之和 解题小节+K-Sum思想 但是我不想说那个题了,因为我也记不住了。。这道题意思就是ABCD四个数组,长...
  • MebiuW
  • MebiuW
  • 2016年11月16日 22:45
  • 2945

[C++]LeetCode: 71 4Sum && kSum总结

题目: Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d ...
  • cinderella_niu
  • cinderella_niu
  • 2015年01月06日 10:43
  • 1680

4Sum -- LeetCode

原题链接: http://oj.leetcode.com/problems/4sum/  这道题要求跟3Sum差不多,只是需求扩展到四个的数字的和了。我们还是可以按照3Sum中的解法,只是在外面套一...
  • linhuanmars
  • linhuanmars
  • 2014年05月01日 04:13
  • 21016

【leetcode】454. 4Sum II【M】

Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such...
  • sscssz
  • sscssz
  • 2016年11月22日 13:11
  • 509
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Leetcode: 4Sum
举报原因:
原因补充:

(最多只允许输入30个字)