如何基于模板生成所有字符串组合?
例如: - 模板字符串为
此类应生成每个单词组内的所有单词组合的字符串。
我知道这是有限自动机和正则表达式。如何高效地生成组合?
例如
首先,生成所有可能的组合 c = [0..1][0..2][0..1]:
例如: - 模板字符串为
花括号 "{...}" 标识一个单词组,每个单词用 "|" 分隔。"{I|我们}想要{|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}
首先,生成所有可能的组合 c = [0..1][0..2][0..1]:
000
001
010
011
020
021
100
101
110
111
120
121
然后对于每个c,将G[i][j]替换为G[i][c[i]]
pI[] = {'I','We'}; pJ[] = {'' ,'2','3','4'}; pK[] = {'apples','pears'}; for ( i = 0; i < 2; i++ ) { string strI = pI[i]; strI += 'want'; for ( j = 0; j < 4; j++ ) { strJ = strI + pJ[j]; for ( k = 0; k < 2; k++ ) { strK = strJ + pK[k]; print( strK ); } } }
- user557597