【问题标题】:All possible combinations of characters in a string字符串中所有可能的字符组合
【发布时间】:2017-11-11 21:05:01
【问题描述】:

我有一个包含八个字符的字符串,例如abcdefgh。我需要生成这个字符串的所有可能的 10 字符组合。

例如,此字符串的所有 2 字符组合将是 abbccdefghghacadaeafah /p>

我想过做类似this 的事情,但我不知道如何让它发挥作用。

我该怎么办?有没有我遗漏的简单算法?

【问题讨论】:

  • 8 个中的 10 个的组合?你确定吗?没有重复(“aaaaaaaaba”)?
  • 使用适当长度的整数从0到8^10进行计数;对于每个整数,转换为八进制,并使用每个数字来指示将八个字符中的哪一个放在该位置。

标签: c arrays string permutation shuffle


【解决方案1】:

您可以使用 2 个指针,一个在字符串开头的字母 t 上,每次在 '/0' 上时递增 a,第二个在循环每转一圈时简单递增,条件为 fo你不会重写旧的组合。

aa ab ac ... bb bc ...

编辑:

不需要条件,只有你的第二个指针的重置必须在第一个指针上为 1

【讨论】:

    猜你喜欢
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多