Списки разделов целых чисел на основе уникальных наборов чисел, которые они содержат - PullRequest
0 голосов
/ 07 марта 2019

У меня есть список целых чисел, как -

List<List<int>> dataList = new List<List<int>> {
                new List<int>{ 0, 2, 4, 7 },
                new List<int>{ 1, 6, 3 },
                new List<int>{ 2, 0, 7, 9 },
                new List<int>{ 3, 1, 6 },
                new List<int>{ 4, 0, 2 },
                new List<int>{ 5, 2, 7 },
            };

Я хочу объединить все списки, имеющие дубликаты, и создать список целочисленных списков, в котором никакие значения не должны быть общими ни в одном списке.

Вывод должен быть как -

0, 2, 4, 5, 7, 9

1, 3, 6

1 Ответ

0 голосов
/ 08 марта 2019

Если вы хотите один единственный список, то вы можете сделать это:

// flatten your list:
var newList = new List<int>();
foreach (var list in output) {
  newList.AddRange(list);
}
// make sure every number is only once in that list:
newList.Distinct() // here is linq!
var output = new List<List<int>>();
output.Add(newList);
...