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