老师可以讲讲全排列的递归思路吗?

来源:7-7 递归控制_例题列出所有组合

北极猫_

2018-01-31

RT. 貌似和组合不一样

写回答

1回答

ccmouse

2018-01-31

对,全排列的话会从另一个角度看,但是比组合简单些。生成组合时我们考虑第一个元素是要还是不要,但生成排列时我们从n个元素中首先挑选一个元素(共有n种选法)作为输出排列的第一个元素,然后对剩余的n-1个元素递归进行全排列。

这里实现上有个技巧,可以交换第一个元素和我们选择的元素,这样我们排列时就不需要额外的空间。代码的话网上有很多,基本都类似,比如:https://www.cnblogs.com/shuada/archive/2013/12/09/3464853.html

0
1
北极猫_
非常感谢!
2018-02-01
共1条回复

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程