【发布时间】:2020-01-25 01:24:12
【问题描述】:
假设我有以下任意顺序的列表:
S1
R1
R2
S2
S3
我需要创建一个列表,其中每个“S”包含每个“R”组合
输出:
S1 => R1
S1 => R2
S2 => R1
S2 => R2
S3 => R1
S3 => R2
实现这一目标的最佳方法是什么? 谢谢
【问题讨论】:
-
这听起来像是 2 个列表,而不是一个。您希望将 S 列表中的所有元素与 R 列表组合在一起。以这种方式思考会使工作像嵌套循环一样简单。
-
为 R 元素解析列表以移动到另一个列表,O(n)。对于剩余的每个 S,构建一个字典,其中每个 S 元素都指向与元素 R 相同的列表。
-
听起来像“笛卡尔积” (stackoverflow.com/questions/1741364/…) - 不确定这是否是您所要求的。
-
对我来说听起来像 MS SQL 的“select * from table1, table2”,不是吗?还是没有?