Home > Web Front-end > JS Tutorial > JavaScript implements exhaustive permutation (permutation) algorithm puzzle solution_javascript skills

JavaScript implements exhaustive permutation (permutation) algorithm puzzle solution_javascript skills

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-05-16 16:23:49
Original
1617 people have browsed it

Puzzle

Exhaustively list the arrangements of each element in an array

Strategy

Reduce and cure, recursion

JavaScript Solution


Copy code The code is as follows:

/**
 * Created by cshao on 12/23/14.
 */

function getPermutation(arr) {
if (arr.length == 1) {
Return [arr];
}

var permutation = [];
for (var i=0; i var firstEle = arr[i];
var arrClone = arr.slice(0);
arrClone.splice(i, 1);
var childPermutation = getPermutation(arrClone);
for (var j=0; j childPermutation[j].unshift(firstEle);
}
Permutation = permutation.concat(childPermutation);
}
Return permutation;
}

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

Results


Copy code The code is as follows:

[ [ 'a', 'b', 'c' ],
[ 'a', 'c', 'b' ],
[ 'b', 'a', 'c' ],
[ 'b', 'c', 'a' ],
[ 'c', 'a', 'b' ],
[ 'c', 'b', 'a' ] ]
Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
What are JavaScript hook functions?
From 1970-01-01 08:00:00
0
0
0
What is JavaScript garbage collection?
From 1970-01-01 08:00:00
0
0
0
c++ calls javascript
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template