leetcode——18——4Sum
来源:互联网 发布:美人一笑也倾城网络剧 编辑:程序博客网 时间:2024/06/05 23:04
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>& nums, int target) { vector<vector<int>> out; set<vector<int>> res; if (nums.size() < 4) return out; sort(nums.begin(), nums.end()); for (int i=0; i<nums.size()-3; i++) { for (int j =i+1;j<nums.size()-2;j++) { int begin = j+1; int end = nums.size()-1; while(begin < end){ int sum = nums[i] + nums[j] + nums[begin] + nums[end]; if (sum== target) { vector<int> cur(4); cur[0] = nums[i]; cur[1] = nums[j]; cur[2] = nums[begin]; cur[3] = nums[end]; res.insert(cur); begin++; end--; } else if(sum < target) { begin++; }else{ end--; } } } } set<vector<int>>::iterator it = res.begin(); for(; it != res.end(); it++) out.push_back(*it); return out; }};
0 0
- Sum—LeetCode-18 4Sum
- Sum—LeetCode-454 4Sum II
- LeetCode——4Sum
- leetcode——4Sum
- 4Sum——LeetCode
- 18LeetCode——4sum
- LeetCode — Two Sum
- LeetCode—Two Sum
- LeetCode—Two Sum
- LeetCode—Target Sum
- leetcode—Two Sum
- leetcode— 3Sum
- LeetCode —-Two Sum
- 【LeetCode】LeetCode——第18题:4Sum
- Sum—LeetCode-1 Two Sum
- Sum—LeetCode-15 3Sum
- LeetCode——4Sum & 总结
- LeetCode题解——4SUm
- CodeForces - 660C Hard Process (二分)好题
- POJ3233
- 模拟器综合症
- myid文件缺失导致zookeeper无法启动(myid file is missing)
- 操作系统
- leetcode——18——4Sum
- PHP_CodeSniffer的下载和使用
- 读《杀人之门》
- 使用 Sublime + PlantUML 高效地画图
- 【c语言】用辗转相除法求最大公约数和最小公倍数
- 数据库事务的隔离级别
- asp中gb2312编码如何用ajax
- 离散数学 Resolution 消解算法
- [XML]学习笔记(四)——命名空间