4Sum

原创 2016年08月29日 16:03:14
  class Solution {
 public:
     vector<vector<int> > fourSum(vector<int> &num,int target) {
        
         int n = num.size();        
         sort(num.begin(), num.end());
         vector<vector<int> > res; 
         if(n<4) return res;
         for(int i = 0; i < n-2; i++)
         for(int j=i+1;j<n-1;j++)
         {            
             int target2 = target - num[i]-num[j];
             twoSum(num,i, j+1, target2, res);
         }
         sort(res.begin(),res.end());
         res.erase(unique(res.begin(),res.end()),res.end());
         return res;
     }
     void twoSum(vector<int> &sortedNum, int i,int start, int target, vector<vector<int> >&res)
     {
         int head = start, tail = sortedNum.size() - 1;
         while(head < tail)
         {
             int tmp = sortedNum[head] + sortedNum[tail];
             if(tmp < target)
                 head++;
             else if(tmp > target)
                 tail--;
             else
             {
                 res.push_back(vector<int>{sortedNum[i],sortedNum[start-1], sortedNum[head], sortedNum[tail]});
                 head++;
                 tail--;               
             }
         }
     }
 };

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

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

4Sum -- LeetCode

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

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
  • 845

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
  • 7413

18.4Sum

4Sum  Total Accepted: 30705 Total Submissions: 143641My Submissions Question  Solution  Given...
  • wscdylzjy
  • wscdylzjy
  • 2015年04月04日 09:53
  • 758

4Sum (Java)

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = t...
  • tofu_jelly
  • tofu_jelly
  • 2015年01月04日 15:51
  • 481

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
  • 1367

18. 4Sum (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...
  • qq_28119401
  • qq_28119401
  • 2016年10月30日 16:16
  • 198

(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
  • 887

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
  • 1056
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:4Sum
举报原因:
原因补充:

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