leetcode——18——4Sum
2016-04-13 21:37
537 查看
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)
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; } };
相关文章推荐
- POJ 3114 Countries in War
- [XML]学习笔记(四)——命名空间
- 使用 Sublime + PlantUML 高效地画图
- myid文件缺失导致zookeeper无法启动(myid file is missing)
- 数据库事务的隔离级别
- 1004 Toxophily
- 【c语言】用辗转相除法求最大公约数和最小公倍数
- You have not concluded your merge (MERGE_HEAD exists)
- (1)Java设计模式-工厂方法模式(Factory Method)
- 故事讲解:我是一个线程
- C++ pair的比较大小
- POJ3233
- POJ3070
- 模拟器综合症
- ListView的优化
- 【c语言】将字符数组s2中的全部字符复制到字符数组s1中,不要用strcpy函数,'\0'也复制过去,'\0'后面的字符不复制
- 《Linux内核分析》 第八节 进程的切换和一般的执行过程
- AWS十周年,亚马逊cto总结的10个教训
- 约瑟夫问题求解
- 说说 UINavigationBar 中的 translucent 属性