Permutations II
来源:互联网 发布:养殖场消毒器淘宝 编辑:程序博客网 时间:2024/05/20 07:14
Given a collection of numbers that might contain duplicates, return all possible unique permutations.
For example,
[1,1,2] have the following unique permutations:
[
[1,1,2],
[1,2,1],
[2,1,1]
]
方法:与Permutations I代码一样即可通过
class Solution {private: void next(vector<int> & now){ int start = -1; for(int i = now.size() - 2; i >= 0 ; --i){ if(now[i]<now[i+1]){ start = i; break; } } if(start ==-1) sort(now.begin(),now.end()); else{ for(int j = now.size() - 1; j > start ; --j){ if(now[j] > now[start]){ swap(now[j],now[start]); break; } } reverse(now.begin() + start + 1,now.end()); } }public: vector<vector<int>> permuteUnique(vector<int>& nums) { vector<vector<int>> res; vector<int> buffer(nums.begin(),nums.end()); res.push_back(buffer); next(buffer); while(buffer != nums){ res.push_back(buffer); next(buffer); } return res; }};
0 0
- 【LeetCode】Permutations && Permutations II
- leetcode: Permutations/Permutations II
- leetcode Permutations & Permutations II
- [Leetcode]Permutations && Permutations II
- Permutations and Permutations II
- Permutations && Permutations ii
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- Permutations II
- 数论常用内容——阶乘
- Java中List Set Map 是否有序等总结
- C语言点滴学习笔记
- 关于double问题(1.01 + 2.02 = 3.0300000000000002)
- 二分贪心-D
- Permutations II
- Java学习笔记_10
- sqlite 数据库
- Node.js-入门二--进程
- Gerrit的ssh命令之gerrit query详解
- CSS画出的图
- 基数排序的两种实现方法--Radix Sort
- C# 3DES加密解密算法
- Linux通过shell脚本实现JDK版本之间的快速切换