我有三个列表a,b,c。每个列表都包含许多按排序顺序排列的整数。
为了这个例子,让:
a = [2, 2, 7]
b = [4, 6, 9]
c = [3, 6, 8]
我的目标是按升序枚举三个列表中元素的所有可能产品。
最小的产品当然是a[0]*b[0]*c[0]
. 在示例中,第二低的产品是a[0]*b[1]*c[0]
。等等。
我正在尝试为任意数量的列表找到通用解决方案。我很难概括从第 k 个最低产品到 (k+1) 最低产品的步骤。
我不想列举所有可能的产品然后对它们进行排序,因为我正在处理可能非常多的列表,并且可能只对前 1000 个组合感兴趣。
任何帮助将不胜感激,包括教科书的指针。