当前位置:网站首页>【全排列】
【全排列】
2022-08-09 00:03:00 【咕噜鸭】
理解
在数组下标p到q范围里的所有元素,逐一与数组第一个元素交换位置,然后下标p+1到q里的元素继续全排列,直到下标p=q时停止全排列,最后把刚才交换的两个元素再换回来,以便下一个元素与首元素交换位置,避免重复出现的情况。
代码
public static void dfs(int a[],int p,int q) {
if(p == q) {
for(int i=0;i<a.length();i++){
System.out.print(a[i]);
}
return ;
}
for(int i=p;i<=q;i++) {
swap(p,i);
dfs(a,p+1,q);
swap(p,i);
}
}
边栏推荐
猜你喜欢
随机推荐
MySQL预处理及过程与对象创建数据库
Win10安装 pycocotools
LeetCode 0179. 最大数
BGP实验
Laravel框架之JSON
测试计划包括哪些内容?目的和意义是什么?
MySQL导入导出数据库
C#编写飞行棋游戏
第五章 数据库编程
pc端电脑屏幕常见尺寸
如何使用WebDAV?
Idea碰到的问题总结
随笔-2018.4.3
C——《C和指针》第六章读书笔记
C--《C和指针》第8章读书笔记之效率问题
2017年9月历史文章汇总
[QNX Hypervisor 2.2用户手册]10.12 ser8250vdev ser8250 options
第四章 网络层
蓝桥杯历届试题-高僧斗法(博弈论)
vs2012快捷键