0
点赞
收藏
分享

微信扫一扫

Java递归,全排列

骨灰级搬砖工 2022-02-20 阅读 140

目录

判断一个字符串是否全部相同

判断一个字符串是否全部不相同


题目解析

从字符串数组中每次选取一个元素,作为结果中的第一个元素;然后,对剩余的元素全排列。

全排列

n个不同元素中任取mm≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。

公式:全排列数f(n)=n!(定义0!=1)

例如:如果是对任意的三个字符进行全排列,也就是3!=6,当然,如果是相同的就只有1

String a="一二三";

三个字符,全排列,6中结果

 

三个相同字符串,就一次

例如 

String a="好好好";

好好好

那么我们要编辑出这种排列方法:

 

 

 

判断一个字符串是否全部相同

例如字符串为【好好好】,单个字符都是相同的一个【好】字,那么这个字符串是没有办法进行全排列的,因为没有意义,故而需要加上这个判断。

 

 

 

 true代表这个字符串就是完全相同的一个字符。

 

 

这种就不是一样的了,就能进行全排列操作了。

其实最好就是每个字符都不一样的进行全排列。

判断一个字符串是否全部不相同

问题:一个字符串,判断每个字符串都不一样

测试字符串:【我要瞅一瞅你】,由于有2个瞅字,故而返回【false】

 下标的与4相同故而返回false 

 

 

 

 测试字符串【你瞅啥】,由于都不相同,需要返回【true

 

 

 

 

 

这个其实比较简单,但是在判断的时候很多的时候会用到,当然,还可以采用更快捷的方式。我这个直接暴力了。 

举报

相关推荐

0 条评论