live-coding
Поиск, окна и интервалы
Бинарный поиск, сумма на отрезке и встречи в переговорках. Набор для секции, где решение просят улучшать по ходу разговора.
Код можно запускать, разбор открыт. Внутри шага задачи усложняются, следующий шаг уже про другую формулировку.
Создайте аккаунт, чтобы видеть прогресс по треку.
Шаг 1. Поиск в упорядоченных данных
Сначала матрица, уже уложенная по возрастанию. Затем массив, сдвинутый по кругу: граница порядка сама выбирает половину.
Шаг 2. Сумма на отрезке
Минимальное окно с суммой хотя бы target, число подмассивов с суммой k и максимум каждого окна. Положительные числа закрываются двумя указателями, произвольные — префиксом и хешем, максимум окна — деком.
Шаг 3. Интервалы
Сначала склейте пересекающиеся отрезки. Следующий вопрос на тех же данных: сколько переговорок нужно в пике.
Шаг 4. Поиск по ответу
Минимальная грузоподъёмность, при которой коробки уезжают за заданное число дней. Кандидат проверяется одним проходом, само значение ищется двоичным поиском.