【发布时间】:2015-04-27 08:05:14
【问题描述】:
数据:
List<List<int>> startList - 填充整数列表的列表,内部列表主要有 2 个元素,如:{[1,2], [2,3],[3,1]};
任务: 需要编写将加入innerLists的算法,其中列表元素的最后一个元素等于列表的第一个元素。
例子:
List<List<int>> startList = {[1,2],
[2,3],
[4,7],
[7,4],
[3,1],
[6,2],
[3,2],}
结果应该是:{[1,2,3,1],[1,2,3,2],[4,7,4],[6,2]}
对于我来说,我可以通过以下几个维度循环了解如何做到这一点:
while(true)
{
...
for (List<String> list : startList)
{
...
for (List<String> list : startList)
{
...
}
}
}
但这是一个非常糟糕的解决方案,因为当它是大量数据(如 5000 个 inerLists)时,它将工作数小时。 那么也许有人可以提出更好的解决方案?
【问题讨论】:
-
List<int>? ...您不能在List中使用原语 -
这个问题可能有多种解决方案,例如 - 你为什么不在第一次迭代中“组合”[6,2] 和 [2,3]?或者你可以只“组合”相邻的列表吗?