[JavaScript 刷题] 找到所有的排列顺序 (Find All Permutation)
Posted GoldenaArcher
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JavaScript 刷题] 找到所有的排列顺序 (Find All Permutation)相关的知识,希望对你有一定的参考价值。
[javascript 刷题] 找到所有的排列顺序 (Find All Permutation)
解这道题的先决条件:理解什么是递归。
这是一个比较经典的递归问题了,一般问的就是寻找出一个 字符串/数字 所有的排列方式,如:abc
的组合方式有:
abc
acb
bac
bca
cba
cab
以排列组合来说,组合的可能性为 n ! = n × ( n − 1 ) × ( n − 2 ) × . . . × 1 n! = n \\times (n - 1) \\times (n - 2) \\times ... \\times 1 n!=n×(n−1)×(n−2)×...×1。
每一次迭代将一个值从数组内弹出,第一个循环体为:
第二个循环体内,继续迭代,分别弹出数组中的下一个值:
第三次迭代再弹出剩下的值,结果如下: