using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
var testData = new List<List<int>>
{
new List<int> { 1, 2, 3 },
new List<int> { 2, 1, 3 },
new List<int> { 6, 8, 3, 45,48 },
new List<int> { 9, 2, 4 },
new List<int> { 9, 2, 4, 15 }
};
var testSets = testData.Select(s => new HashSet<int>(s));
var groupedSets = testSets.GroupBy(s => s, HashSet<int>.CreateSetComparer());
foreach(var g in groupedSets)
{
var setString = String.Join(", ", g.Key);
Console.WriteLine($" {g.Count()} | {setString}");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIHRlc3REYXRhID0gbmV3IExpc3Q8TGlzdDxpbnQ+PgoJCXsKCQkgICAgIG5ldyBMaXN0PGludD4geyAxLCAyLCAzIH0sCgkJICAgICBuZXcgTGlzdDxpbnQ+IHsgMiwgMSwgMyB9LAoJCSAgICAgbmV3IExpc3Q8aW50PiB7IDYsIDgsIDMsIDQ1LDQ4IH0sCgkJICAgICBuZXcgTGlzdDxpbnQ+IHsgOSwgMiwgNCB9LAoJCSAgICAgbmV3IExpc3Q8aW50PiB7IDksIDIsIDQsIDE1IH0KCQl9OwoJCQoJCXZhciB0ZXN0U2V0cyA9IHRlc3REYXRhLlNlbGVjdChzID0+IG5ldyBIYXNoU2V0PGludD4ocykpOwoJCQoJCXZhciBncm91cGVkU2V0cyA9IHRlc3RTZXRzLkdyb3VwQnkocyA9PiBzLCBIYXNoU2V0PGludD4uQ3JlYXRlU2V0Q29tcGFyZXIoKSk7CgkJCgkJZm9yZWFjaCh2YXIgZyBpbiBncm91cGVkU2V0cykKCQl7CgkJCXZhciBzZXRTdHJpbmcgPSBTdHJpbmcuSm9pbigiLCAiLCBnLktleSk7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKCQiIHtnLkNvdW50KCl9IHwge3NldFN0cmluZ30iKTsKCQl9Cgl9Cn0=
2 | 1, 2, 3
1 | 6, 8, 3, 45, 48
1 | 9, 2, 4
1 | 9, 2, 4, 15