Программы
Подготовка к собеседованиямA/B-тесты для аналитиковML и Causal InferenceA/B-тесты для менеджеровОбучение для команд
Бесплатные материалы
База знаний185+ тестовых заданийRoadmap по A/BЧеклист A/B-тестаОтзывыО проектеОставить заявку
Собеседования и тестовые задания

Разбор задачи про замену 0 и максимальную последовательность 1

17 января 2024·1 мин чтения·Павел Бухтик·Оригинал в Telegram ↗

Эту задачу можно эффективно решить за линейное время и константную память. Мне известно как минимум 3 таких решения. Но приведу, на мой взгляд, наиболее элегантное и понятное из них.

Идея решения состоит в том, чтобы обходить исходный список и сохранять индекс предыдущего 0, который мы встретили. Так мы можем легко узнать общее количество 1 между текущим и предыдущим 0 для каждого последующего 0.

Временная сложность приведенного на скриншоте выше решения составляет O(n) и не требует дополнительной памяти.

Готовишься к собеседованию на аналитика?

Посмотри базу реальных тестовых заданий и разборы кейсов.

Перейти к тестовым заданиям