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