Перейти к содержимому

## Условие

misc · generalAvito / Авито (алгоритмы)не решено
Задача: Собери команду:
Условие задачи:
Вашему TL нужно собрать максимально "ровную "команду по уровню. Он делегировал эту задачу вам, попросив написать функцию.
"Ровность "определяется минимальной разницей между максимальным и минимальным уровнем выбранных инженеров.
У нас есть N1 бэкендеров, N2 фронтендеров, N3 тестировщиков, N4 дизайнеров. Мы знаем уровень каждого из них. Все массивы уровней уже отсортированы.
Соберите команду из 4х человек по одному из каждой функции. Если есть несколько вариантов, то предложить любой.
Пример 1:
Ввод:
engineers = {
backend: [1, 2, 2, 3], # уже отсортированы
frontend: [1, 3], # уже отсортированы
qa: [3, 4, 4], # уже отсортированы
design: [2, 3] # уже отсортированы
}
Вывод:
{backend: 3, frontend: 3, qa: 3, design: 3}
Разница = 0
Пример 2:
Ввод:
engineers = {
backend: [5],
frontend: [3, 6, 7, 10],
qa: [3, 9, 11, 18],
design: [20]
}
Вывод:
{backend: 5, frontend: 6, qa: 9, design: 20}
Разница = 15

Источник: Avito / Авито (алгоритмы)

← ## Условие · Все задачи · Разное · ## Условие →