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--;               
             }
         }
     }
 };

相关文章推荐

4 Values whose Sum is 0

  • 2009年10月03日 14:06
  • 131KB
  • 下载

【LeetCode-面试算法经典-Java实现】【018-4Sum(四个数的和)】

【018-4Sum(四个数的和)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given an array S of n integers, are there ele...

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

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

在数组中找出四个数字的和等于指定数字(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...

18. 4Sum (超时)

 题目:4Sum Given an array S of n integers, are there elements a, b, c, and d in S such that a + ...

【Jason's_ACM_解题报告】4 Values whose Sum is 0

4 Values whose Sum is 0 解题报告

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 + ...
  • LZTree
  • LZTree
  • 2017年03月26日 14:45
  • 153

leetcode第一刷_4Sum

用暴力水过了两个,正在沾沾自喜,当看到连续加的规模增加到4时,眼泪直接掉下来了,新想这下我这水货原形毕露了,没想到。。 我抱着试试看的心态,又写了一种水水的暴力解,每次固定前面的两个节点,后面的两个...

LeetCode——4Sum & 总结

LeetCode——4Sum & 总结 有人对 Leetcode 上 2Sum,3Sum,4Sum,K Sum问题作了总结: http://blog.csdn.net/nanjunxiao/arti...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:4Sum
举报原因:
原因补充:

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