LeetCode(47)Permutations II
2015-08-31 20:15
561 查看
题目
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], and [2,1,1].
分析
用上一题的代码,完全可以AC,那是因为我们的库函数next_permutation()以及prev_permutation()内置排重的代码。。。其实,题目考察的实质,是让我们自己实现全排,只不过我偷懒了,直接调用了算法库。。。
AC代码
class Solution { public: vector<vector<int>> permuteUnique(vector<int>& nums) { vector<vector<int> > ret; if (nums.empty()) return ret; sort(nums.begin(), nums.end()); ret.push_back(nums); while (next_permutation(nums.begin(), nums.end())) ret.push_back(nums); return ret; } };
GitHub测试程序源码
相关文章推荐
- Linux编程基础
- Servlet中用于会话跟踪的三种机制
- HDU3722 Card Game(KM最小费用圈覆盖)
- 黄聪:WordPress动作钩子函数add_action()、do_action()源码解析
- linux 文件系统解析及相关命令
- 计算1到100的整数和
- hdu 2899 Strange fuction
- zoj 1516 Uncle Tom's Inherited Land(二分匹配·链式前向星)
- POJ3268 Silver Cow Party(dijkstra)
- ios开发进阶之网络06 网络安全 UIWebView
- 二分查找算法
- 省市选择器
- 面试题:最长公共前缀
- 简述Error和Exception的区别
- 我的第一篇Blog
- FrameLayout布局绘制流程解析
- 交换整数的奇数位和偶数位
- PAT (Basic Level) Practise (中文) 1016. 部分A+B (15)
- CUDA Pro Tip: Occupancy API Simplifies Launch Configuration
- 天台山的读音