我一直在尝试解决一个关于排列的问题,但并没有真正成功。我想生成以一个字母开头并以相同结尾的所有指定长度的排列,并且没有两个连续的字母应该是相同的。生成的排列可以有重复的字母。
例如,
如果数组有 {a,b,c,d} 并且我想要所有以 a 开头和结尾的排列。
答案应该是:
abca
abda
acba
acda
如果数组是 {a,b,c,d,e}
输出:
abcda
abada
abdca
abaca
acbda
acada
acdba
acaba
adbca
adaca
adcba
adaba
abcba
ababa
abdba
acbca
acaca
acdca
adbda
adcda
adada
我什至想知道是否有某种方法可以直接了解我将通过某个公式为数组获得的解决方案的数量..
提前谢谢大家..