Как получить характеристический вектор множества?
У меня есть универсальное множество string[] universal и есть множество А - string[] mna К примеру универсальное множество состоит из элементов (1, 2, 3, 4, 5), а множество А содержит элементы (1, 2, 4) В ответе я должен получить множество (1, 1, 0, 1, 0). Как это можно реализовать?
Ответы (1 шт):
Автор решения: tym32167
→ Ссылка
Смысл решения в том, чтобы проверить вхождение элемента из universal в mna
var universal = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
var mna = new int[] {1, 4, 7};
var vector = new int[universal.Length];
var set = new HashSet<int>(mna);
for(var i=0; i<vector.Length; i++)
vector[i] = set.Contains(universal[i]) ? 1 : 0;
Console.WriteLine(string.Join(",", vector));
Вывод
1,0,0,1,0,0,1,0