【发布时间】:2011-12-18 05:38:58
【问题描述】:
我认为这基本上是一个简单的问题,但我被卡住了。我的大脑被这个问题阻塞了,所以我希望你能帮助我。 我有 2 到 N 个整数数组,比如
{1,2,3,4,5}
{1,2,3,4,5,6}
{1,3,5}
.....
现在我想要一个包含 int[N] 数组的列表,每个可能性都像
{1,1,1}
{1,1,3}
{1,1,5}
{1,2,1}
....
{1,3,1}
....
{2,1,1}
{2,1,3}
....
{5,6,5}
所以里面有 6*5*3 (90) 个元素。
有没有一个简单的算法来做到这一点?我认为语言无关紧要,但我更喜欢 Java。
【问题讨论】:
-
您正在搜索“笛卡尔积算法”。用这个关键字试试 google。
-
这里 stackoverflow.com/questions/1140164/… 是 Scala 中的一个简短的递归解决方案。
-
@userunknown 抱歉,我看不懂... Scala 很奇怪,我从未使用过它... 其他递归解决方案值得赞赏
-
你可以在这里找到一个使用 numpy 的 python 实现:stackoverflow.com/questions/1208118/…
标签: arrays algorithm list multidimensional-array