标题:编程序写出1到9的全排列
取消只看楼主
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
结帖率:87.5%
已结贴  问题点数:50 回复次数:7 
编程序写出1到9的全排列
编写程序写出1到9的全排列,各位都有什么好的想法
搜索更多相关主题的帖子: 编写程序 
2015-06-17 19:40
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
手算很简单,9的阶乘,但不好用代码实现,所以想问下有没有什么好的办法,我的想法是把111111111到999999999的数遍历一遍,但感觉方法不可取,二楼的方法在在网上看到过,还没具体研究
2015-06-17 23:26
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
也想过递归,但一直想不出好的方法,所以才问的,9层循环很好弄,写过了,就是转成递归有点困难,没想到好的办法
2015-06-17 23:46
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
回复 18楼 边小白
这就是我现在的想法,但感觉做法不是很好,所有数字都判断一遍会花费很多的额外步骤比较耗时,我想实现一个步数比较少的办法,就是算法优化。
2015-06-18 08:58
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
想到一个办法,用链表实现,每个节点有9个孩子,是1-9,根节点是1到9,9颗树,然后1-9,1的孩子是2-8,以此类推,这个方法大概要比较9的10次方这么多次,大家有什么其他的好办法吗?
2015-06-18 09:48
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
回复 23楼 BlueGuy
mark[i] = 1;楼主能告诉我这句话是怎么做作用的吗?我知道他是去除有重复数字的数。
但我没明白他的逻辑
2015-06-18 14:44
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
懂了,mark[i] = 1表示这个数i已经出现过了,不用再出现了
2015-06-18 14:50
lowrie
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:81
专家分:138
注 册:2015-3-12
得分:0 
谢谢了
2015-06-18 14:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-446713-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.108194 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved