给定一系列数字,请打印出这些数字的所有排列,例如1,2,2,3,4,请列出所有的排列

本文探讨了一道关于排列的题目,如何列出给定数字如1, 2, 2, 3, 4的所有可能排列。通过递归方法,从简单序列开始,固定首位数字,然后对剩余数字进行递归,直到所有可能的前缀都被考虑。文中提供了不同字符和相同字符序列的排列算法源代码。" 129898579,12433529,分布式文件系统:本地存储、Minio与FastDFS实践,"['分布式', 'java', 'servlet', 'Minio', 'FastDFS']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天看书,看到了一道题目,就是:

给定一系列数字,例如1,2,2,3,4,请列出这系列数字的所有排列。


这道题目实际上很有意思,因为如果给出这样的一系列的数字1,2,3,4,就是各个数字都不一样,这样的排列就很好列出了,我们可以逐个遍历,我们可以从简单的算起,首先我们列出具有不同的字符序列的所有排列

1、开始的时候,是这样1234,先将1固定住,则后面的234在代入进去,称为一个新的字符串参加递归,则得到的就是以1开头的所有排列的字符串

2、同样的234,现将2固定住,则后面的34作为一个新的字符串参加递归,则得到以12开头的所有排列的字符串1234    1243

3、对于34,将3固定住,则只有34一种排列。

上面的以1 为前缀的知识排列的一种,接下来

4、如下面的程序我们可以看出    body = body.substring(1) + body

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值