小编kan*_*ary的帖子

根据模板生成所有字符串组合

如何根据模板生成所有字符串组合?

例如: - 模板字符串

“{我|我们}想要{|2|3|4} {苹果|梨}”

大括号“{...}”标识一组或多个单词,每个单词用“|”分隔。

该类应使用每个单词组中的每种单词组合生成字符串。

我知道它是有限自动机,也是正则表达式。如何高效生成组合?

例如

G[0][j] [想要] G[1][j] G[2][j]"

G[0] = {I, We}
G[1] = {2, 3, 4}
G[2] = {apples, pears}
Run Code Online (Sandbox Code Playgroud)

首先,生成所有可能的组合 c = [0..1][0..2][0..1]:

000
001
010
011
020
021
100
101
110
111
120    
121
Run Code Online (Sandbox Code Playgroud)

然后对于每个 c 将 G[i][j] 替换为 G[i][c[i]]

regex algorithm combinations

6
推荐指数
1
解决办法
2017
查看次数

标签 统计

algorithm ×1

combinations ×1

regex ×1