如何根据模板生成所有字符串组合?
例如: - 模板字符串
“{我|我们}想要{|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]]