【发布时间】:2012-02-07 07:52:00
【问题描述】:
可能重复:
Are there any better methods to do permutation of string?
假设我有字母
a b c d
我想在一个 4 个字母长的字符串中获取这些字母的每一个可能的模式/组合。
啊啊啊
咩
caaa
哒哒
咩
阿卡
学院派
阿爸
等等。
我可以使用什么循环或模式来列出所有可能的组合?
我是用 C# 编写的,但也欢迎使用 C++ 和 javascript 编写示例。
我目前的想法只为每个可能的字母增加一个字母。然后向右移动一次并重复。这不包括类似的模式。
阿爸
【问题讨论】:
-
总是4个字母吗?如果是这样,那就很简单了。
-
@liho1eye 发布两个 for 循环毫无意义,因为它不是正确的解决方案。 @james 不,它可以超过 4 个字母,它的长度可以超过 4 个字母,所以这两个部分都是动态的。 @brian 你有什么比搜索旧帖子和发布维基百科链接更好的事情吗:T
-
这与排列的问题不太一样。 { 'a', 'b', 'c', 'd' } 的排列不包括字符串“aaaa”。
-
@John - 通常它会帮助人们解决这样的简单问题。我实际上误读了您的问题,认为您正在寻找排列,因为这是一个常见的家庭作业问题,可以在这里发布。很抱歉 - 我没有意识到您在简单地计算 base4 时遇到了问题。
-
@John,您是否需要所有这些排列,或者您可以简单地使用
RegEx来验证您收到的文本格式是否正确?
标签: c# javascript algorithm