Практическое правило 10^8
Связывайте число операций с ограничением времени
«Практическое правило 10^8» — бесплатный урок Coding Interview Prep на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Coding Interview Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Coding Interview Prep содержит 4 уроков всего.
Волшебный бюджет
Обычно онлайн-проверяющая система выполняет около 10^8 простых операций в секунду. Это Ваш бюджет на всю программу. 💡
От шагов к секундам
Умножьте количество операций на объём работы за один шаг, а затем сравните результат с ограничением по времени. Если число шагов укладывается в бюджет, решение, скорее всего, пройдёт.
Линейная сложность обходится дёшево
Линейный проход O(n) при n = 10^6 — это всего миллион шагов, намного меньше бюджета. Решения с линейной сложностью почти всегда уверенно проходят проверку.
n log n — безопасный вариант
При n = 10^6 сортировка за O(n log n) требует примерно 2 · 10^7 шагов. Это всё ещё намного меньше бюджета одной секунды, поэтому сортировка редко становится узким местом.
У квадратичной сложности есть предел
Решение с O(n^2) достигает бюджета примерно при n = 10^4, когда требуется 10^8 шагов. После этого квадратичная сложность начинает приводить к превышению ограничения по времени.
Кубическая сложность — только для малых n
Решение с O(n^3) подходит лишь примерно до n = 500. Возведение этого числа в куб даёт около 10^8 шагов — границу бюджета.
Экспоненциальная сложность подходит только для малых n
O(2^n) удваивается на каждом шаге, поэтому подходит только для очень малых n — примерно от 20 до 25. После этого количество операций резко превышает 10^8.
Python требует поправки
Python выполняет один шаг медленнее, поэтому для плотных циклов считайте бюджет скорее равным 10^7. Если ограничения близки к границе, оценивайте их с запасом.
Учитывайте скрытый множитель
Правило 10^8 считает простые шаги. Тяжёлая работа внутри цикла, например построение строк, добавляет постоянный множитель, который уменьшает Ваш реальный бюджет.
Учитывайте ограничение
Ограничение по времени часто составляет 1 или 2 секунды. Ограничение в 2 секунды примерно удваивает Ваш бюджет и даёт немного больше запаса.
Оцените до начала ввода
Сначала всегда подставляйте n в оценку сложности и сравнивайте результат с 10^8. Такая быстрая проверка здравого смысла спасает от написания заведомо неработающего решения.
Быстрая проверка
Примените правило 10^8 на практике.
Повторение
Теперь Вы умеете переводить количество операций во время: примерно 10^8 операций в секунду. Линейная сложность и n log n безопасны, квадратичная ограничена примерно n = 10^4, а оценку нужно делать до написания кода. ✅
Часто задаваемые вопросы
Урок «Практическое правило 10^8» бесплатный?
Да — полный текст урока «Практическое правило 10^8» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Coding Interview Prep, подпишись на CoddyKit PRO. Курс Coding Interview Prep содержит 4 уроков всего.
Чему я научусь в уроке «Практическое правило 10^8»?
Связывайте число операций с ограничением времени Ты практикуешь Coding Interview Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Coding Interview Prep?
Предыдущий опыт не требуется. Coding Interview Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Практическое правило 10^8»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Coding Interview Prep?
Да. Каждый урок Coding Interview Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Подсчёт операций с помощью Big-O
- Практическое правило 10^8
- Изучите ограничения и выберите сложность
- Почему возникает TLE и как его заметить