4Sum
来源:互联网 发布:mac口红日本买便宜多少 编辑:程序博客网 时间:2024/06/07 18:20
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.
Note:
- Elements in a quadruplet (a,b,c,d) must be in non-descending order. (ie, a ≤ b ≤ c ≤ d)
- The solution set must not contain duplicate quadruplets.
For example, given array S = {1 0 -1 0 -2 2}, and target = 0. A solution set is: (-1, 0, 0, 1) (-2, -1, 1, 2) (-2, 0, 0, 2)
class Solution {public: vector<vector<int> > fourSum(vector<int> &num, int target) { vector<vector<int>> ret; int len = num.size(); if (len <4) return ret; sort(num.begin(),num.end()); for (int i=0; i<len;++i ){ for (int j=i+1; j<len; ++j) { int first = j+1; int last = len-1; while(first<last){ int sum = num[i]+num[j]+num[first]+num[last]; if (sum==target){ vector<int> vec; vec.push_back(num[i]); vec.push_back(num[j]); vec.push_back(num[first]); vec.push_back(num[last]); ret.push_back(vec); vec.clear(); while(first<len-1 && num[first+1]==num[first]){ first++; } first++; last--; } else if(sum<target) { first++; } else { last--; } } while (j<len-1 && num[j]==num[j+1]){ j++; } } while (i<len-1 && num[i]==num[i+1]){ i++; } } return ret; }};
0 0
- 【Leetcode】4Sum (Sum)
- leetcode 2 sum 3sum 4sum
- 3Sum 3Sum Closest 4Sum
- 3Sum & 3Sum Closest & 4Sum
- 2Sum 3Sum 4Sum
- 3sum、3Sum closet、 4sum
- 3Sum, 3Sum Closest, 4 Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- 4Sum
- php解析url三个方法与实例
- poj——1789——Truck History
- 安卓手机驱动adb已识别 但是eclipse中devices无手机识别
- Clojure专题:字符串处理
- 继承的主要用法
- 4Sum
- Ajax初学体验(2)[检验用户名是否重复的完整实例]
- C++之函数应用
- 维生素abc我挑我的
- ubuntu putty粘贴复制
- Http报文小探
- 3Sum
- 为什么程序要打包
- 简单字符驱动模板