Permutations II
2016-05-31 20:58
246 查看
class Solution { public: void swap(int& a, int&b) { int temp=a; a=b; b=temp; } bool ifduplicate(vector<int> nums, int n, int i) { while(n<i) { if(nums ==nums[i]) return false; n++; } return true; } void permutation(vector<vector<int>>& res, vector<int>& nums, int n) { if(n==nums.size()-1) { res.push_back(nums); return; } for(int i=n;i<nums.size();i++) { if(!ifduplicate(nums,n,i)) continue; swap(nums[i],nums ); permutation(res, nums, n+1); swap(nums[i],nums ); } } vector<vector<int>> permuteUnique(vector<int>& nums) { vector<vector<int>> res; if(nums.size()==0) return res; permutation(res,nums,0); return res; } };
相关文章推荐
- JAVA对象创建代码调用顺序
- opencv与opengl混用实现三维点云图像
- spark-submit java.lang.OutOfMemoryError: Java heap space
- Linux 网络配置
- Android__Broadcast
- HBase 配置教程
- 动态顺序表算法
- 正则表达式的一些符号
- OpenCV2:Mat属性type,depth,step
- linux中的‘make’和‘makefile’
- [原创]java WEB学习笔记31:会话与状态管理 session机制 概述(定义,session机制,session的声明周期,保存session的方式,Session的创建与删除)
- 沙盒路径及文件 操作
- Codeforces 672
- 快速排序的非递归实现
- Django后台获取前端post上传的文件
- 303. Range Sum Query - Immutable
- idea代码调试debug
- 实现复数类中的运算符重载
- Redis单机安装及启动
- java之JFrame、JPanel混合布局