Задачи на map в Go. Часть 6
Дана коллекция map с вложенными коллекциями:
data := map[string]map[string][]int{
"department1": {
"teamA": {1, 2, 3},
"teamB": {4, 5, 6},
},
"department2": {
"teamC": {7, 8, 9},
"teamD": {10, 11, 12},
},
}
Найдите команду с максимальной суммой элементов, вернув путь до нее в формате "department/team".
Дана коллекция map:
transactions := map[string][]map[string]any{
"user1": {
{"type": "deposit", "amount": 100},
{"type": "withdraw", "amount": 50},
{"type": "deposit", "amount": 200},
},
"user2": {
{"type": "deposit", "amount": 300},
{"type": "withdraw", "amount": 100},
},
}
Для каждого пользователя рассчитайте конечный баланс после всех операций.
Дана коллекция map (граф смежности):
graph := map[string]map[string]int{
"A": {"B": 5, "C": 3},
"B": {"A": 5, "D": 2, "E": 4},
"C": {"A": 3, "F": 7},
"D": {"B": 2},
"E": {"B": 4, "F": 1},
"F": {"C": 7, "E": 1},
}
Найдите сумму весов всех рёбер графа (каждое неориентированное ребро учитывайте один раз).
Дана коллекция map:
nestedMap := map[string]map[string]map[string][]int{
"level1": {
"level2a": {
"level3a": {1, 2, 3},
"level3b": {4, 5, 6},
},
"level2b": {
"level3c": {7, 8, 9},
},
},
}
Найдите все пути до конечных списков в формате "level1/level2/level3".
Дана коллекция map:
timeSeries := map[string][]map[string]any{
"sensor1": {
{"timestamp": 1000, "value": 25.3},
{"timestamp": 2000, "value": 26.1},
{"timestamp": 3000, "value": 24.8},
},
"sensor2": {
{"timestamp": 1000, "value": 30.5},
{"timestamp": 2000, "value": 31.2},
{"timestamp": 3000, "value": 29.8},
},
}
Для каждого сенсора найдите среднее значение показаний за все время.
Дана коллекция map:
hierarchicalData := map[string]any{
"company": map[string]any{
"departments": []map[string]any{
{
"name": "IT",
"employees": []map[string]any{
{"name": "John", "salary": 5000},
{"name": "Alice", "salary": 6000},
},
},
{
"name": "HR",
"employees": []map[string]any{
{"name": "Bob", "salary": 4500},
{"name": "Charlie", "salary": 4800},
},
},
},
},
}
Найдите департамент с наибольшей средней зарплатой сотрудников.
Дана коллекция map:
multiDimensional := map[string]any{
"matrix": [][]int{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
},
"operations": []string{"transpose", "rotate", "invert"},
}
Примените все операции из списка "operations" к матрице последовательно.
Дана коллекция map:
complexStructure := map[string]any{
"users": []map[string]any{
{
"id": 1,
"orders": []map[string]any{
{"items": []string{"apple", "banana"}, "total": 15.5},
{"items": []string{"orange"}, "total": 8.2},
},
},
{
"id": 2,
"orders": []map[string]any{
{"items": []string{"milk", "bread"}, "total": 12.3},
},
},
},
}
Для каждого пользователя найдите общую сумму всех заказов.
Дана коллекция map:
nestedGraph := map[string]map[string]any{
"graph1": {
"nodes": []string{"A", "B", "C"},
"edges": []map[string]any{
{"from": "A", "to": "B", "weight": 5},
{"from": "B", "to": "C", "weight": 3},
},
},
"graph2": {
"nodes": []string{"X", "Y", "Z"},
"edges": []map[string]any{
{"from": "X", "to": "Y", "weight": 2},
{"from": "Y", "to": "Z", "weight": 4},
},
},
}
Для каждого графа найдите общий вес всех ребер.
Дана коллекция map:
recursiveStructure := map[string]any{
"value": 10,
"children": []map[string]any{
{
"value": 20,
"children": []map[string]any{
{"value": 30, "children": []map[string]any{}},
{"value": 40, "children": []map[string]any{}},
},
},
{
"value": 50,
"children": []map[string]any{
{"value": 60, "children": []map[string]any{}},
},
},
},
}
Найдите сумму всех значений value в древовидной структуре.