Комбинации с различной длиной и без повторения Может ли кто-нибудь предложить простой способ получить все комбинации без повторений и с переменной длиной? [0,1,2,3,4] (2): [0,1], [0,2], [0,3]... [3,4] (3's): [0,1,2], [0,1,3]... [2,3,4] (4): [0,1,2,3], [0,1,2,4]... [1,2,3,4] Ответ 1 взял меня, но я думаю, что у меня есть это здесь... у этого есть все комбинации без повторений var arr:Array = [0, 1, 2, 3, 4]; var $allcombos:Array = []; findCombos($allcombos,[],arr); function findCombos($root:Array, $base:Array, $rem:Array):void { for (var i:int = 0; i < $rem.length; i++) { var a:Array = $base.concat(); a.push($rem[i]); findCombos($root, a, $rem.slice(i + 1)); if (a.length > 1) { $root.push(a); } } }
Ответ 1 взял меня, но я думаю, что у меня есть это здесь... у этого есть все комбинации без повторений var arr:Array = [0, 1, 2, 3, 4]; var $allcombos:Array = []; findCombos($allcombos,[],arr); function findCombos($root:Array, $base:Array, $rem:Array):void { for (var i:int = 0; i < $rem.length; i++) { var a:Array = $base.concat(); a.push($rem[i]); findCombos($root, a, $rem.slice(i + 1)); if (a.length > 1) { $root.push(a); } } }