【发布时间】:2011-11-17 00:03:44
【问题描述】:
所以我正在解决的问题涉及整数数组列表的数组列表 .已知:每个整数 ArrayList 中的元素数。未知的:实际上有多少个 ArrayList of Integers。我需要一种算法的建议,该算法将在每个可能的数组组合中对这些数组的(有序)元素求和。为了澄清我的意思,让我举个例子:
AoA = [[1,0,1,0],[0,1,0,1],[1,1,1,1],[0,0,0,0]];
对 AoA[0] + AoA[1] 的元素求和; AoA[0]+AoA[2]; AoA[0]+AoA[3]; AoA[1]+AoA[2];迎角[1]+迎角[3];迎角[2]+迎角[3];
(4选2)
因此,如果有人可以编写这个简单的版本,我将不胜感激,因为我正在努力做到这一点。如果有人可以编写更复杂的示例,其中 AoA 中有未知数量的数组(因此 N 选择 2),那么您就是我的英雄。
TL;DR/编辑
我需要一种算法来从数组数组中获取 n-choose-2 数组;对数组求和(例如 [1,2,3] + [1,2,3] = [2,4,6]);将新的求和数组添加到数组数组中。
【问题讨论】:
-
问题大概不是加法。问题在于生成组合,对吗?
-
如果您始终使用 ArrayLists,那么大小很容易通过 ArrayList.size() 调用确定。正如@OliCharlesworth 所说,这听起来像是一个组合问题。
-
2 in (N choose 2) 是固定的吗?
-
这个问题很不清楚。如果你有数据结构,那么你就知道有多少个 ArrayList。您是否只是想要一种算法来获取可以从 0..n-1 中选择的 n-choose-2 对数字,以便将这些对用作索引?需要编辑问题。
-
@OliCharlesworth 等人。 : 对,那是正确的。我正在寻找算法来选择 n-choose-2 数组然后执行加法。
标签: java multidimensional-array combinations