Задачи на коллекции Set в Go. Часть 6
Даны три множества:
set1 := map[int]struct{}{1: {}, 2: {}, 3: {}, 4: {}, 5: {}, 6: {}}
set2 := map[int]struct{}{4: {}, 5: {}, 6: {}, 7: {}, 8: {}, 9: {}}
set3 := map[int]struct{}{6: {}, 7: {}, 8: {}, 9: {}, 10: {}, 11: {}}
Найдите симметрическую разность всех трех множеств (элементы, которые есть только в одном из множеств).
Дана коллекция списков чисел:
lists := [][]int{
{1, 2, 3, 4, 5},
{2, 3, 4, 5, 6},
{3, 4, 5, 6, 7},
{4, 5, 6, 7, 8},
}
Найдите множество чисел, которые являются общими для всех списков.
Даны две коллекции map с вложенными множествами:
map1 := map[string]map[int]struct{}{"A": {1: {}, 2: {}, 3: {}},
"B": {3: {}, 4: {}, 5: {}},
"C": {5: {}, 6: {}, 7: {}},
}
map2 := map[string]map[int]struct{}{"B": {3: {}, 4: {}, 8: {}},
"C": {5: {}, 6: {}, 9: {}},
"D": {7: {}, 8: {}, 9: {}},
}
Для ключей, присутствующих в обеих коллекциях, найдите пересечение их множеств.
Дан список множеств:
sets := []map[int]struct{}{map[int]struct{}{1: {}, 2: {}, 3: {}, 4: {}},
map[int]struct{}{3: {}, 4: {}, 5: {}, 6: {}},
map[int]struct{}{5: {}, 6: {}, 7: {}, 8: {}},
map[int]struct{}{7: {}, 8: {}, 9: {}, 10: {}}
}
Найдите каскадное пересечение: элементы, которые есть в первом и втором, но нет в третьем и четвертом.
Дана коллекция map, где значения - списки:
data := map[string][]int{
"group1": {1, 2, 3, 4, 5},
"group2": {3, 4, 5, 6, 7},
"group3": {5, 6, 7, 8, 9},
}
Найдите множество чисел, которые встречаются ровно в двух группах.
Даны три множества строк:
setA := map[string]struct{}{"apple": {}, "banana": {}, "cherry": {}, "date": {}}
setB := map[string]struct{}{"banana": {}, "date": {}, "elderberry": {}, "fig": {}}
setC := map[string]struct{}{"cherry": {}, "date": {}, "fig": {}, "grape": {}}
Найдите все строки, которые присутствуют ровно в двух множествах.
Дана коллекция множеств:
numberSets := []map[int]struct{}{map[int]struct{}{1: {}, 2: {}, 3: {}, 4: {}, 5: {}},
map[int]struct{}{2: {}, 3: {}, 4: {}, 5: {}, 6: {}},
map[int]struct{}{3: {}, 4: {}, 5: {}, 6: {}, 7: {}},
map[int]struct{}{4: {}, 5: {}, 6: {}, 7: {}, 8: {}}
}
Найдите множество чисел, которые отсутствуют хотя бы в одном из множеств.
Даны две коллекции map с составными ключами:
map1 := map[string]map[string]struct{}{"A:1": {"x": {}, "y": {}, "z": {}},
"B:2": {"y": {}, "z": {}, "w": {}},
"C:3": {"z": {}, "w": {}, "v": {}},
}
map2 := map[string]map[string]struct{}{"A:1": {"x": {}, "y": {}, "a": {}},
"B:2": {"y": {}, "b": {}, "c": {}},
"D:4": {"z": {}, "w": {}, "d": {}},
}
Для общих ключей найдите симметрическую разность их множеств.
Дан список множеств разной размерности:
sets := []map[int]struct{}{map[int]struct{}{1: {}, 2: {}, 3: {}},
map[int]struct{}{2: {}, 3: {}, 4: {}, 5: {}},
map[int]struct{}{3: {}, 4: {}, 5: {}, 6: {}, 7: {}},
map[int]struct{}{4: {}, 5: {}, 6: {}, 7: {}, 8: {}, 9: {}}
}
Найдите множество чисел, которые образуют возрастающую цепочку: присутствуют в каждом следующем множестве, но отсутствуют в предыдущих.
Даны четыре множества:
set1 := map[int]struct{}{1: {}, 3: {}, 5: {}, 7: {}, 9: {}}
set2 := map[int]struct{}{2: {}, 4: {}, 6: {}, 8: {}, 10: {}}
set3 := map[int]struct{}{1: {}, 2: {}, 3: {}, 5: {}, 7: {}}
set4 := map[int]struct{}{2: {}, 3: {}, 5: {}, 8: {}, 9: {}}
Найдите все числа, которые являются простыми и присутствуют в нечетных множествах.