Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 查找每个位置变化的字符串排列的算法_String_Permutation - Fatal编程技术网

String 查找每个位置变化的字符串排列的算法

String 查找每个位置变化的字符串排列的算法,string,permutation,String,Permutation,假设我有一个三个字符的字符串“ABC”。我想生成该字符串的所有排列,其中一个字母可以替换为小写字母。例如,“aBC”、“aBC”、“aBC”、“aBC”、“aBC”等。换句话说,给定像[Aa][Bb][Cc]这样的regexp,可以生成它可以匹配的每个字符串。这个问题可以简单地简化为生成所有长度为n的二进制序列。这一点以前已经提到过,例如在和中。不完全是这样,您可以使用“A”或“A”-但不能同时使用(在同一排列项目中)@alfasin:我不确定是否遵循。每个二进制数字对应一个字母0是小写,1是大

假设我有一个三个字符的字符串“ABC”。我想生成该字符串的所有排列,其中一个字母可以替换为小写字母。例如,“aBC”、“aBC”、“aBC”、“aBC”、“aBC”等。换句话说,给定像[Aa][Bb][Cc]这样的regexp,可以生成它可以匹配的每个字符串。

这个问题可以简单地简化为生成所有长度为
n
的二进制序列。这一点以前已经提到过,例如在和中。

不完全是这样,您可以使用“A”或“A”-但不能同时使用(在同一排列项目中)@alfasin:我不确定是否遵循。每个二进制数字对应一个字母
0
是小写,
1
是大写
000
代表
abc
001
代表
abc
010
代表
abc
,依此类推。如果使用小写字母“a”,则必须在同一排列中使用大写字母:“B”和“C”。至少根据他的定义:“一个字母可以替换的地方……”阿尔法辛:他是这么说的,但我怀疑他是不是这个意思。请看示例:它们反复违反约束。我仅使用大写/小写作为示例:字符上的转换是表驱动的。