>  기사  >  웹 프론트엔드  >  JavaScript는 철저한 순열(permutation) 알고리즘 퍼즐을 구현합니다.solution_javascript 기술

JavaScript는 철저한 순열(permutation) 알고리즘 퍼즐을 구현합니다.solution_javascript 기술

WBOY
WBOY원래의
2016-05-16 16:23:491517검색

퍼즐

배열의 각 요소 배열을 철저하게 나열

전략

축소와 치료, 재귀

자바스크립트 솔루션


코드 복사 코드는 다음과 같습니다.

/**
 * cshao가 14년 12월 23일에 작성했습니다.
 */

함수 getPermutation(arr) {
if (arr.length == 1) {
반품 [arr];
}

var 순열 = [];
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.concat(childPermutation);
}
순열 반환;
}

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

결과


코드 복사 코드는 다음과 같습니다.

[ [ 'a', 'b', 'c' ],
[ 'a', 'c', 'b' ],
[ 'b', 'a', 'c' ],
[ 'b', 'c', 'a' ],
[ 'c', 'a', 'b' ],
[ 'c', 'b', 'a' ] ]
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.