Разбить массив на K частей, минимизируя максимум
Бинарный поиск
Сложная
Дан массив nums (неотрицательные числа) и число k. Разбейте nums на k непустых непрерывных частей так, чтобы МАКСИМАЛЬНАЯ из сумм частей была как можно МЕНЬШЕ.
Верните эту минимальную возможную максимальную сумму.
Подсказка: подберите ответ бинарным поиском по значению - для любого предполагаемого лимита L легко жадно проверить, можно ли уложиться в k частей так, чтобы сумма каждой не превышала L.
Сигнатура функции
split_array(nums: list[int], k: int) -> int
Примеры
| Вход | Ожидаемый результат |
| [[7, 2, 5, 10, 8], 2] | 18 |
| [[1, 2, 3, 4, 5], 2] | 9 |
1решили
1пытались
100%успешность
Войдите, чтобы решить →