【发布时间】:2013-04-09 00:59:56
【问题描述】:
我正在处理一个项目 Euler 问题,我想采用创建值列表并将列表添加到 Hashset 的方法,如果列表已经存在,我可以在恒定时间内进行评估在哈希集中,最终目标是为我的最终结果计算哈希集中列表的数量。
我遇到的问题是当我以这种方式创建列表时。
HashSet<List<int>> finalList = new HashSet<List<int>>();
List<int> candidate = new List<int>();
candidate.Add(5);
finalList.Add(candidate);
if (finalList.Contains(candidate) == false) finalList.Add(candidate);
candidate.Clear();
//try next value
显然finalList[0] 项目在我清除候选人时被清除并且没有给我想要的结果。是否有可能有一个这样的列表(整数)哈希集?我如何确保每次都实例化一个新列表并将其作为新项目添加到哈希集中,也许在 for 循环中测试许多值和可能的列表组合?
【问题讨论】:
-
您希望
candidate[0]成为关键吗?完全不清楚您要在这里做什么。