JavaScript实现穷举排列(permutation)算法谜题解答
JavaScript实现穷举排列(permutation)算法谜题解答
发布时间:2016-12-30 来源:查字典编辑
摘要:谜题穷举一个数组中各个元素的排列策略减而治之、递归JavaScript解复制代码代码如下:/***Createdbycshaoon12/23...

谜题

穷举一个数组中各个元素的排列

策略

减而治之、递归

JavaScript解

复制代码 代码如下:

/**

* Created by cshao on 12/23/14.

*/

function getPermutation(arr) {

if (arr.length == 1) {

return [arr];

}

var permutation = [];

for (var i=0; i<arr.length; i++) {

var firstEle = arr[i];

var arrClone = arr.slice(0);

arrClone.splice(i, 1);

var childPermutation = getPermutation(arrClone);

for (var j=0; j<childPermutation.length; j++) {

childPermutation[j].unshift(firstEle);

}

permutation = permutation.concat(childPermutation);

}

return permutation;

}

var permutation = getPermutation(['a','b','c']);

console.dir(permutation);

结果

复制代码 代码如下:

[ [ 'a', 'b', 'c' ],

[ 'a', 'c', 'b' ],

[ 'b', 'a', 'c' ],

[ 'b', 'c', 'a' ],

[ 'c', 'a', 'b' ],

[ 'c', 'b', 'a' ] ]

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类