回答編集履歴
1
foreach版追記
answer
CHANGED
@@ -41,4 +41,20 @@
|
|
41
41
|
一方向だけ見てたら
|
42
42
|
A {1,2} B {2,3} C {3,4} はよくても
|
43
43
|
A {1,2} B {3,4} C {2,3} がダメで
|
44
|
-
結局両方向になりました。
|
44
|
+
結局両方向になりました。
|
45
|
+
|
46
|
+
追記:
|
47
|
+
インデクサはやっぱり嫌なので、ごり押しで短くしました
|
48
|
+
``` csharp
|
49
|
+
var allList = new List<HashSet<int>> { A, B, C, D, E, F, };
|
50
|
+
|
51
|
+
allList.ForEach(outer => allList.ForEach(inner => {
|
52
|
+
if (outer != inner && outer.Where(d => inner.Contains(d)).Any()) {
|
53
|
+
inner.ToList().ForEach(d => outer.Add(d));
|
54
|
+
inner.Clear();
|
55
|
+
}
|
56
|
+
}));
|
57
|
+
|
58
|
+
//result
|
59
|
+
var result = allList.Where(d => d.Any());
|
60
|
+
```
|