本文介绍了组合具有不同长度和不重复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任何人都可以提出让所有的组合,而无需重复一个简单的方法,并用不同长度?
Can anyone suggest an easy way of getting all combinations without repeats, and with a varying length ?
[0,1,2,3,4]
[0,1,2,3,4]
(2的): [0,1],[0,2],[0,3] ...... [3,4]
(2's) : [0,1],[0,2],[0,3] ... [3,4]
(3的): [0,1,2],[0,1,3] ... [2,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]
(4's) : [0,1,2,3],[0,1,2,4] ... [1,2,3,4]
推荐答案我花了一段时间,但我想我已经在这里了... ...
took me a while but I think I've got it here...
这所有的组合,而无需重复
this has all the combinations without repeats
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); } } }更多推荐
组合具有不同长度和不重复
发布评论