Loading... ## 方法 确定 $n$ 个数 $x_1,x_2,x_3,...,x_n$ 全排列步骤: 确定第一个数:将第一位的 $x_1$ 与第一位及以后的数交换,共 $n$ 种; 确定第二个数:将第二位的 $x_2$ 与第二位及以后的数交换,共 $n-1$ 种; 确定第三个数:将第三位的 $x_3$ 与第三位及以后的数交换,共 $n-2$ 种; ... 确定第 $n-1$ 个数:将第 $n-1$ 位的 $x_{n-1}$ 与第 $n-1$ 位及以后的数交换,共 $2$ 种。 总共 $n!$ 种 ## Python 代码 ```python nums = [1,2,3] def dfs(index): if index == len(nums)-1: print(nums) else: for i in range(index, len(nums)): nums[index],nums[i]=nums[i],nums[index] dfs(index+1) nums[index],nums[i]=nums[i],nums[index] dfs(0) ``` **运行结果** ``` [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 2, 1] [3, 1, 2] ``` 最后修改:2021 年 03 月 10 日 07 : 12 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信