Javascript y位x选项的置换
这似乎类似于其他排列问题,但差异被证明是一个挑战Javascript y位x选项的置换,javascript,arrays,permutation,Javascript,Arrays,Permutation,这似乎类似于其他排列问题,但差异被证明是一个挑战 x=7 [a,b,c,d,e,f,g] y=3 [a,a,a] [a,d,g] [a,g,d] [g,d,a] etc. 给定x个选项(通常为3-7,或[a,b,c]到[a,b,c,d,e,f,g]) x=7 [a,b,c,d,e,f,g] y=3 [a,a,a] [a,d,g] [a,g,d] [g,d,a] etc. 获取y长度的所有排列(通常为3-7) x=7 [a,b,c,d,e,f,g] y
x=7 [a,b,c,d,e,f,g] y=3
[a,a,a]
[a,d,g]
[a,g,d]
[g,d,a]
etc.
给定x个选项
(通常为3-7,或[a,b,c]
到[a,b,c,d,e,f,g]
)
x=7 [a,b,c,d,e,f,g] y=3
[a,a,a]
[a,d,g]
[a,g,d]
[g,d,a]
etc.
获取y长度的所有排列(通常为3-7)
x=7 [a,b,c,d,e,f,g] y=3
[a,a,a]
[a,d,g]
[a,g,d]
[g,d,a]
etc.
或
x=7 [a,b,c,d,e,f,g] y=3
[a,a,a]
[a,d,g]
[a,g,d]
[g,d,a]
etc.
我想说的是,我已经取得了一些进展,但我甚至不知道如何开始,而且涉及置换的所有其他解决方案似乎都严重依赖于字符串长度 这些不是真正的排列,它们是字母表上的字符串。它可以像这样递归地实现:
x=7 [a,b,c,d,e,f,g] y=3
[a,a,a]
[a,d,g]
[a,g,d]
[g,d,a]
etc.
让字母表=['a','b','c','d'];
让字符串=[];
函数生成器字符串(字母表、字符串、长度、前缀=[])
{
for(让字母表中的字母){
如果(长度==1){
strings.push([letter].concat(前缀));
}否则{
generateStrings(字母表,字符串,长度-1,[字母].concat(前缀));
}
}
}
生成字符串(字母表、字符串、3);
console.log(字符串)代码>这些不是真正的排列,它们是字母表上的字符串。它可以像这样递归地实现:
x=7 [a,b,c,d,e,f,g] y=3
[a,a,a]
[a,d,g]
[a,g,d]
[g,d,a]
etc.
让字母表=['a','b','c','d'];
让字符串=[];
函数生成器字符串(字母表、字符串、长度、前缀=[])
{
for(让字母表中的字母){
如果(长度==1){
strings.push([letter].concat(前缀));
}否则{
generateStrings(字母表,字符串,长度-1,[字母].concat(前缀));
}
}
}
生成字符串(字母表、字符串、3);
console.log(字符串)代码>