作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个数组 [0,1,2,3] 和一个参数 2 作为输入
我想要的输出是
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3
2 0
2 1
2 2
2 3
3 0
3 1
3 2
3 3
参数的长度决定了每个元组中组合的数量,而数组用于生成数字。
有没有一种快速的方法来做到这一点。
谢谢!
最佳答案
哦,我不知道,但首先,我创建了组合
和排列
,过了一段时间,我为您的任务创建了实用方法。
var subsetTest:Array = [];
subsetFill([0, 1, 2], [], subsetTest, 2);
prettyPrint(subsetTest);
private function subsetFill(values:Array, cursor:Array, result:Array, length:uint):void {
if (cursor.length > length) {
return;
}
if (cursor.length == length) {
result.push(cursor.slice());
}
var i:uint, len:uint = values.length;
for (i; i < len; ++i) {
cursor.push(values[i]);
subsetFill(values, cursor.slice(), result, length);
cursor.length = cursor.length - 1;
}
}
//Auxiliary method for tracing
private function prettyPrint(list:Array):void {
var i:uint, len:uint = list.length;
for (i; i < len; ++i) {
trace(list[i]);
}
}
结果:
[trace] 0,0
[trace] 0,1
[trace] 0,2
[trace] 1,0
[trace] 1,1
[trace] 1,2
[trace] 2,0
[trace] 2,1
[trace] 2,2
如果有人感兴趣,我也可以分享组合
和排列
函数;)
关于java - 数组组合的子集 - AS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696403/
我是一名优秀的程序员,十分优秀!