假设我为每个角色添加了'A'和'B',我需要添加所有数字......
""
/ \
"A" "B"
/ | \ / | \
/ | \ / | \
"A1" "A2" "A3" "B1" "B2" "B3"
怎么做?
我试过,但我没有得到正确的递归想法。
通常我设置的字符集[A,B,C,... z]每个都用其他数字集合置换[0,... 9]
递归如何解答答案? [或回溯?]我无法得到想法。如何处理问题并解决问题?
或者只是保留它我们有一个数组[] = {A,D} 我们有偏移[0,1,2]
我们需要使用字符数组来置换字符串,但也需要添加偏移量
A-- D+0 AD
A-- D+1 AE
A-- D+2 AF
B...D+0 BD
B...D+1 BE
B...D+2 BF
这只是2个字符。
答案 0 :(得分:0)
你需要找到两组的cartesian product。(你的号码和字符)。使用char数组来保存输入和输出集,
答案 1 :(得分:0)
你必须为每个偏移递归地解决它。
fun(int offset,int i){
if(offset==0)
then print the array
for(;i<n;i++){
a[i]++;
fun(offset-1,i+1);
a[i]--;
}
}
这里'n'是具有给定字符的数组a
的长度。伪代码,用于为每个偏移打印所有可能的数组。你必须为每个偏移量调用上面的数组。