-
Notifications
You must be signed in to change notification settings - Fork 1.4k
No repeats please
kinksteven edited this page Aug 23, 2017
·
2 revisions
- 把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符为准
- 这个
function
接收一个字符串参数str
,返回的是一个数值,代表字符不重复的情况。 - 如果
str
为aab
,str.length=3
总的排列有3!=6
种情况,其中字符重复的有2!* 2!=4
种,那么字符不重复的就是3!-2!*2!=2
种,最终返回的值就是2
。
这道题要分情况讨论,涉及到的知识是高中的排列组合,以及阶乘。
解决此题需要用到的公式
①排列公式 A(n,m)
②组合公式C(n,m)
③阶乘公式n!
所需要分析的情况分为两种
A: 只有一组重复字符,如aab
,abb
.
B: 有多组重复字符,aabb
,abfdefa
未完待续