【问题标题】:How to re-arrange string so that same characters are not next to each other? [duplicate]如何重新排列字符串,使相同的字符不相邻? [复制]
【发布时间】:2014-10-30 20:12:02
【问题描述】:

如何重新排列字符串,使相同的字符不相邻,如果有许多替代排序选项,我们将选择按字母排序的一个?

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

伪代码之类的会很有用。

【问题讨论】:

  • “选择一个按字母顺序排列的”?这是什么意思?
  • @cicto AAABBB -> ABABAB 不像 BABABA
  • 撤回关闭投票。链接的问题没有“按字母顺序选择”标准。

标签: string algorithm sorting


【解决方案1】:

一个简单的解决方案:

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

【讨论】:

  • +1 非常简单的解决方案。不过可能有点慢。
  • 这个解决方案在任何合理大小的字符串上都非常昂贵。有一个简单的解决方案很好,但我怀疑这是否尽可能高效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 2017-12-05
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多