ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptで徹底的な順列(パーミュテーション)アルゴリズムを実装したパズルソリューション_JavaScriptスキル

JavaScriptで徹底的な順列(パーミュテーション)アルゴリズムを実装したパズルソリューション_JavaScriptスキル

WBOY
WBOYオリジナル
2016-05-16 16:23:491517ブラウズ

パズル

配列内の各要素の配置を網羅的にリストします

戦略

軽減と修復、再帰

JavaScript ソリューション


コードをコピーします コードは次のとおりです:

/**
 * 2014 年 12 月 23 日に cshao によって作成されました。
 */

関数 getPermutation(arr) {
if (arr.length == 1) {
[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.concat(childPermutation);
}
置換を返します;
}

var permutation = 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 までご連絡ください。