[LeetCode]4Sum
2015-07-11 20:45
302 查看
和2sum 3Sum的思路类似
class Solution { public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> vv; sort(nums.begin(),nums.end()); for(int i =0; i<nums.size(); ++i){ for(int j = i+1; j<nums.size(); ++j){ int front = j+1; int rear = nums.size()-1; while(front<rear){ int sum = nums[i] + nums[j] + nums[front] + nums[rear]; if(sum<target) ++front; else if(sum>target) --rear; else{ vector<int> v4(4); v4[0]=nums[i];v4[1]=nums[j];v4[2]=nums[front];v4[3]=nums[rear]; vv.push_back(v4); while(front<rear&&nums[front]==v4[2]) ++front; while(front<rear&&nums[rear]==v4[3]) --rear; } } while(j<nums.size()-2&&nums[j+1]==nums[j]) ++j; } while(i<nums.size()-1&&nums[i]==nums[i+1]) ++i; } return vv; } };
相关文章推荐
- 1008. 数组元素循环右移问题 (20)
- 鼠标钩子 键盘钩子
- WPF动画
- 7月流水一日
- 设计模式之适配器模式
- 线性表链式存储设计与实现 - API实现
- 线性表链式存储设计与实现 - API实现
- 浅谈双连通分量、强连通分量
- 树链剖分
- hdu2222Keywords Search (特里)
- java基础——“”equals“”与 “”==“” 的区别
- 用缓动函数模时钟
- 1007. 素数对猜想 (20)
- PHP底层的运行机制与原理
- 【实例变量创建与实现】
- 红黑树
- CentOS安装JAVA后JAVA版本不对的问题
- 解答:一个交换机内部的mac表的表项的个数
- ImageView图片自适应
- 1006. 换个格式输出整数 (15)