Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript y位x选项的置换_Javascript_Arrays_Permutation - Fatal编程技术网

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(字符串)