请考虑以下代码:
List<string> a = new List<string>(new string[] { "a1", "a2" });
List<string> b = new List<string>(new string[] { "b1", "b2" });
List<string> c = new List<string>(new string[] { "c1", "c2" });
List<List<string>> input = new List<List<string>>();
input.Add(a);
input.Add(b);
input.Add(c);
List<List<string>> output=List<List<string>> PickOneFromEachSet(input)
PickOneFromEachSet
将从每个集合中选择一个元素而不考虑排序。
我们可以有 2^3=8 种组合,即输出为
{"a1","b1","c1"},
{"a1","b1","c2"},
...
{"a2","b2","c2"}
我们应该如何构造这样的函数?