awesome-everything EN
↑ Обратно к восхождению

Алгоритмы с нуля

Инструментарий: выбор техники

Суть Кросс-трековый тест: прочти задачу и выбери технику и причину, взвешивая сложность, структуру данных и режим отказа неверного инструмента.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на middle-высоте — в небе
◷ 14 min

Весь трек сводится к одному навыку: прочесть задачу и назвать верный инструмент до того, как написана первая строка. Каждый вопрос даёт формулировку задачи и спрашивает не ‘каков ответ’, а ‘какая техника и почему именно она, а не соблазнительный неверный вариант’.

Цель

Убедись, что умеешь отображать форму задачи — её ограничения, структуру, то, что она просит — на подходящую технику и объяснять, почему очевидная альтернатива не работает или тратит время.

Викторина

Дан неотсортированный массив из 10^6 целых чисел; нужно ответить на 10^5 запросов вида 'существует ли значение X?'. Какой подход и почему?

Викторина

Задача просит число различных способов набрать сумму N заданными номиналами монет. N до 10^4. Какая техника и в чём признак?

Викторина

Нужно найти k наименьших элементов потока из n чисел (n заранее неизвестно, k фиксировано и мало). Какая структура данных несёт технику?

Викторина

Дан отсортированный массив; найди два индекса, значения которых дают в сумме target. Массив может быть огромным, а доп. памяти разрешено O(1). Какая техника?

Викторина

Нужно определить, есть ли цикл в ориентированном графе зависимостей, и если нет — выдать корректный порядок сборки. Какая техника?

Викторина

Задача даёт n <= 20 предметов и просит оптимальное подмножество при ограничении, которое сопротивляется любой жадной или value-DP формулировке. Ограничения кричат об определённом семействе. О каком, и в чём признак n <= 20?

Итог

Выбор техники — это чтение, а не зубрёжка. Размеры ограничений — самый громкий сигнал: n ≤ 20 разрешает перебор 2^n; n ≤ 10^5 требует O(n log n); 10^9 вынуждает O(log n) или математику. Глагол задачи называет семейство — ‘существует ли’ ведёт к хешированию; ‘k наименьших или следующий по приоритету’ к куче; ‘сколько способов или оптимизация по перекрывающимся подзадачам’ к DP; ‘лучший локальный выбор, который можно доказать’ к жадности; ‘упорядочить по зависимости’ к топосортировке; ‘пара в отсортированных данных при O(1) памяти’ к two pointers. Каждый неверный ответ выше — это реальный инструмент, применённый не туда; навык в том, чтобы сопоставить форму инструменту, а затем понимать, почему соблазнительная альтернатива тратит время или ломается.

Продолжить восхождение ↑Инструментарий: свободное припоминание
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.