Код Middle GIL, потоки и процессы обновлено
Время работы пула с ограничением параллелизма
Условие
Есть workers рабочих и список длительностей задач. Задачи берутся строго по порядку: каждая следующая задача стартует на первом освободившемся рабочем (как в пуле потоков с очередью). Верните время завершения всех задач. Если задач нет, верните 0.
Примеры
pool_time(2, [3, 1, 1, 2]) // 4
pool_time(1, [1, 2, 3]) // 6
pool_time(3, []) // 0
Как подойти
Подсказки: 1
- Куча моментов освобождения рабочих.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.