[LeetCode] Permutations
来源:互联网 发布:windows wordpress 编辑:程序博客网 时间:2024/06/05 18:31
题目:
Given a collection of numbers, return all possible permutations.
For example,[1,2,3]
have the following permutations:[1,2,3]
, [1,3,2]
, [2,1,3]
, [2,3,1]
, [3,1,2]
, and [3,2,1]
.
class Solution {public: vector<vector<int>> permute(vector<int> &num) { vector<vector<int>> result; vector<vector<int>> tmp_result; if(num.size() == 1) { result.push_back(num); return result; } for(int i = 0; i < num.size(); i++) { vector<int> tmp_num = num; tmp_num.erase(tmp_num.begin()+i); tmp_result = permute(tmp_num); for(int j = 0; j < tmp_result.size(); j++) { tmp_result[j].insert(tmp_result[j].begin(), num[i]); result.push_back(tmp_result[j]); } } return result; }};
思路:
递归,比如运行permute([1,2,3,4]),则会先后运行permute([2,3,4])、permute([1,3,4])、permute([1,2,4])、permute([1,2,3]),值得确定的是,运行permute([2,3,4])一定会返回2、3、4的全排列,然后在2、3、4的全排列的各个元素前插入1,即是1、2、3、4的一组全排列。
0 0
- 【LeetCode】Permutations && Permutations II
- leetcode: Permutations/Permutations II
- leetcode Permutations & Permutations II
- [Leetcode]Permutations && Permutations II
- LeetCode: Permutations
- LeetCode: Permutations
- [Leetcode] Permutations
- [LeetCode] Permutations
- Leetcode: Permutations
- [Leetcode] Permutations
- [Leetcode] Permutations
- [LeetCode]Permutations
- LeetCode-Permutations
- [leetcode] permutations
- LeetCode - Permutations
- Leetcode: Permutations
- 【leetcode】Permutations
- 【LeetCode】Permutations
- Eclipse搭建Android开发环境(安装ADT,Android4.4.2)
- FFmpeg 收藏的资源
- Visual Studio "无法查找或打开PDB文件"解决方法
- [转载]Linux 查看文件修改时间(精确到秒)
- sybase中的聚簇索引与count(*)的关系
- [LeetCode] Permutations
- 王雨豪的创业故事
- IOS完整学习路线
- Java so_linger
- Memcached全面剖析–5. memcached的应用和兼容程序
- alsa移植测试
- tmux的使用方法和个性化配置
- JDK动态代理实现原理
- Hadoop2.0的HA介绍