私はプロジェクトのオイラー問題の 1 つに取り組んでおり、値のリストを作成し、そのリストをハッシュセットに追加するというアプローチを取りたいと考えていました。このようにして、リストがハッシュセットに既に存在するかどうかを一定時間で評価できました。 、私の最終結果のためにハッシュセット内のリストの数を数えることを最終目標としています。
私が抱えている問題は、この方法でリストを作成するときです。
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 ループで言えますか?