2014-09-05 62 views
-2

如何重新安排字符串,以便相同的字符彼此不相鄰,並且如果有很多替代的排序選項,我們將選擇按字母順序排序的字符串?如何重新排列字符串以使相同的字符不相鄰?

AAABBBB -> BABABAB 
AAABBB -> ABABAB 
BCDDEEEF -> BCEDEDEF 
BACHH -> ABHCH 

僞代碼或東西將是有用的。

+0

「選擇哪一個按字母順序排序的一個」?那是什麼意思? – clcto 2014-09-05 20:08:53

+0

@cicto AAABBB - > ABABAB不喜歡BABABA – wl1Z 2014-09-05 20:11:23

+1

縮短近距離投票。鏈接的問題沒有「按字母順序選擇」標準。 – 2014-09-05 20:30:23

回答

1

一個天真的解決方案:

Find all permutations of the string 
Find all that don't have repeating characters 
Find the first alphabetically 
+0

+1,用於簡單的解決方案。雖然可能有點慢。 – Floris 2014-09-05 20:20:53

+1

對於任何尺寸合理的字符串,此解決方案的成本過高。有一個天真的解決方案是可行的,但我懷疑這是否有效。 – templatetypedef 2014-09-05 21:04:15

相關問題