lintcode: Permutations II
2016-04-06 16:00
330 查看
Given a list of numbers with duplicate number in it. Find all unique permutations.
可以见我的博文全排列实现
可以见我的博文全排列实现
class Solution { public: /** * @param nums: A list of integers. * @return: A list of unique permutations. */ vector<vector<int> >res; void dfs(vector<int> &nums,vector<int> &sub,int cur){ if(cur==nums.size()){ res.push_back(sub); return; } for(int i=0;i<nums.size();i++){ if(i==0||nums[i]!=nums[i-1]){ int c1=0,c2=0; for(int j=0;j<nums.size();j++){ if(nums[j]==nums[i]){ c1++; } } for(int j=0;j<cur;j++){ if(sub[j]==nums[i]){ c2++; } } if(c2<c1){ sub[cur]=nums[i]; dfs(nums,sub,cur+1); } } } } vector<vector<int> > permuteUnique(vector<int> &nums) { // write your code here int len=nums.size(); if(len==0){ return res; } sort(nums.begin(),nums.end()); vector<int> sub(len); dfs(nums,sub,0); return res; } };
相关文章推荐
- C语言基本数据类型(二)
- 1110. Complete Binary Tree (25) 完全二叉树、树的遍历
- jquery.validate.js表单验证
- zoj 1029 moving tables
- js将类数组转成数组
- 定高条块:.bar
- 软考中高项学员:2016年4月4日作业
- 二叉树的java实现和遍历
- 互联网时代下,做营销更多是要学会讲故事
- git log简介
- struts2工作原理
- 奇点视觉
- WKE——Webkit精简的纯C接口的浏览器
- iframe高度自适应
- grunt、Browsersync服务及weinre远程调试
- MDN开发者网络
- dell r710 服务器配置RAID5(3块硬盘做RAID5,另外再弄一块做数据冗余盘)
- GraphX源码解析(Graph构建过程)
- Java的MyBatis框架中MyBatis Generator代码生成器的用法
- Python一日一练07----冒泡排序