2016-11-26 94 views
0
char ary[10] = "AAABB"; 

有6!/(3!* 2!)个可能的排列方式。我如何找到他们?如何查找字符串的所有排列?

+0

你应该看看这个:http://stackoverflow.com/questions/2710713/algorithm-to-generate-all-possible-permutations-of-a-list –

回答

1

首先,有5! /(3!* 2!)= 10种可能的方式,而不是6! /(3!* 2!)。但我认为这是你的错字。

对于这个特定字符串“AAABB”,你可以做这样的事情:

拿走“BB”,而治“A” S作为中“B”型槽隔板。让_(下划线)是我们可以插入“B”的插槽。

_A_A_A_

首先,把“BB”两个分开的字符,并插入他们。我们可以在插槽中插入其中1 & 2 ( “巴巴”),1 & 3( “BAABA”),1 & 4,2 & 3,2 & 4,3 & 4.(共计6)

然后,治疗 “BB” 为一体,并插入它。我们可以将它插入插槽1(“BBAAA”),2(“ABBAA”),3,4.(共4个)

重复所有10种可能的方式。

相关问题