Permutations 全排列 回溯
2024-10-08 00:07:33
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]
.
Hide Tags
建立一棵树,比如说
1234
1234 2134 3214 4231 //就是swap(1,1) swap(1,2) swap(1,3) swap(1,4)
|
1234 1324 1432 //就是swap(2,2) swap(2,3) swap(2,4)
|
1234 1243 //就是swap(3,3) swap(3,4)
然后,就用DFS遍历,叶子节点就是我们想要的
class Solution {
private:
vector<vector<int> > ret;
public:
void perm(vector<int> num,int i){
if(i==num.size()){
ret.push_back(num);
return;
}
for(int j=i;j<num.size();j++){
swap(num[i],num[j]);
perm(num,i+);
swap(num[j],num[i]); //复原,进行下一个交换前需复原之前状态
}
}
vector<vector<int> > permute(vector<int> &num) {
perm(num,);
return ret;
}
};
最新文章
- Python之路,Day7 - Python基础7 面向对象
- 数据可视化-EChart2.0使用总结1
- spring 多线程 注入 服务层 问题
- SQL*Loader之CASE1
- object-c中的类目,延展,协议
- RAP开发入门-搭建RAP开发环境(一)
- 新浪实时股票数据接口http://hq.sinajs.cn/list=code
- Entity Framework 学习笔记(一)安装
- asp.net中application,cookies,stateview,session的使用
- PictureBox内的图片拖动功能
- .NET系统架构改造的经验和教训
- linker command failed with exit code 1 (use -v to see invocation)修改方法
- python中的Iterable对象和Iterator
- easyUI combobox combotree 模糊查询,带上下键选择功能,待完善。。。。
- Linux下使用mail发送邮件
- centos安装jdk1.8
- Installing ODIConsole application using weblogic server
- Oracal 11 g 数据库安装
- Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化
- 杂: PYTHON上数据储存:推荐h5py