Список задач
| Задача | Описание |
|---|---|
| A. Значения функции | |
| B. Чётные и нечётные числа | |
| C. Соседи | Возвращает всех соседей элемента матрицы |
| D. Хаотичность погоды | Вычисляет длину последовательности |
| E. Самое длинное слово | Возвращает самое длинное слово в строке |
| F. Палиндром | Проверяет является ли строка палиндромом |
| G. Работа из дома | Переводит целое число из десятичной системы в двоичную |
| H. Двоичная система | Складывает две строки в двоичной системе счисления |
| I. Степень четырёх | Определяет, будет ли положительное целое число степенью четвёрки |
| J. Факторизация | Раскладывает числа на простые множители |
| K. Списочная форма | Сложение на основе полиномиальных коэффициентов |
| L. Лишняя буква | Находит лишнюю букву |
| Y. Ближайший ноль | Считает расстояния до ближайшего нуля за O(n) |
| Z. Ловкость рук | Считает сумму элементов в матрице |
Список задач
| Задача | Описание |
|---|---|
| A. Мониторинг | Транспонирование матрицы |
| B. Список дел | |
| C. Нелюбимое дело | |
| D. Заботливая мама | |
| E. Всё наоборот | |
| F. Стек - Max | Стек LIFO |
| G. Стек - MaxEffective | Стек LIFO cо стеком максимальных значений |
| H. Скобочная последовательность | |
| I. Ограниченная очередь | |
| J. Списочная очередь | Очередь на связном списке |
| K. Рекурсивные числа Фибоначчи | Рекурсивное Фибоначчи |
| L. Фибоначчи по модулю | |
| Y. Дек | README |
| Z. Калькулятор | README |
Список задач
| Задача | Описание |
|---|---|
| A. Генератор скобок (бектрекинг) | Генерация скобочных последовательностей |
| A. Генератор скобок (фильтрация ПСП) | Генерация всех скобочных последовательностей |
| B. Комбинации | |
| C. Подпоследовательность | |
| D. Печеньки | O(n log n + m log m) |
| E. Покупка домов | O(n log n) |
| F. Периметр треугольника | Наибольшая сумма |
| G. Гардероб | Сортировка массива из 3-х значений за n |
| H. Большое число | |
| I. Любители конференций | Мапа по количеству встречающихся id |
| J. Пузырёк | |
| K. Сортировка слиянием | |
| L. Два велосипеда | |
| M. Золотая середина | O(m + n) Медиана двух отсортированных массивов |
| M. Золотая середина | O(log(m + n)) Медиана двух отсортированных массивов |
| N. Клумбы | |
| O. Разность треш-индексов | Pivot как среднее между максимальным и минимальным элементом |
| P. Частичная сортировка | Количество отрезков для быстрой сортировки в перестановке чисел |
| Y. Поиск в сломанном массиве | README |
| Z. Эффективная быстрая сортировка | README |
Список задач
| Задача | Описание |
|---|---|
| A. Полиномиальный хеш | Находит полиномиальный хеш методом Горнера: ![]() |
| B. Сломай меня | Находит 2 строки с одинаковым хэшем |
| C. Префиксные хеши | Находит хэши в подстроке |
| D. Кружки | |
| G. Соревнование | Создает мапу из одинаковых сумм, затем вычисляет максимальную дистанцию |
| H. Странное сравнение | Сравнивает набор символов в строке с помощью мапы |
| ... | |
| Y. Поисковая система | README |
| Z. Хеш-таблица (метод цепочек) | README |
| Z. Хеш-таблица (метод открытой адресации) |
Список задач
| Задача | Описание |
|---|---|
| A. Лампочки | Находит самое большое значение в дереве |
| B. Сбалансированное дерево | Проверяет, сбалансированно дерево или нет |
| E. Дерево поиска | Определяет, является ли заданное дерево деревом поиска |
| I. Разные деревья поиска | Считает количество корневых бинарных деревьев с n листьями с помощью чисел Каталана |
| J. Добавь узел | Вставка ключа в BST |
| K. Выведи диапазон | Центрированный LMR обход дерева |
| L. Просеивание вниз | Совершает просеивание вниз в куче на максимум |
| M. Просеивание вверх | Совершает просеивание вверх в куче на максимум |
| ... | |
| Y. Пирамидальная сортировка | README |
| Z. Удали узел | README |
Список задач
| Задача | Описание |
|---|---|
| A. Построить список смежности | По списку рёбер графа строит его список смежности |
| B. Перевести список ребер в матрицу смежности | Переводит список рёбер ориентированного графа в матрицу смежности |
| C. DFS | Обходит с помощью DFS все вершины неориентированного графа и выводит их |
| E. Компоненты связности | Находит компоненты связности неориентированного графа |
| H. Время выходить | Находит время входа и выхода при обходе в глубину ориентированного графа |
| J. Топологическая сортировка | Находит топологическую сортировку ациклического ориентированного графа (DAG, directed acyclic graph) |
| ... | |
| Y. Дорогая сеть | README |
| Z. Железные дороги | README |
Список задач
| Задача | Описание |
|---|---|
| A. Биржа | Считает жадную выгоду |
| B. Расписание | Составляет жадное расписание |
| C. Золотая лихорадка | Решает задачу о рюкзаке жадным алгоритмом |
| F. Прыжки по лестнице | Решает задачу методом динамического программирования |
| H. Поле с цветочками | Решает задачу методом двумерного динамического программирования |
| K. Гороскопы | Находит наибольшую общую подпоследовательность |
| L. Золото лепреконов | Решает задачу о рюкзаке методом динамического программирования |
| L. Золото лепреконов | Решает задачу о рюкзаке методом двумерного динамического программирования |
| ... | |
| Y. Расстояние по Левенштейну | README |
| Z. Одинаковые суммы | README |
Список задач
| Задача | Описание |
|---|---|
| A. Разворот строки | Переворачивает порядок слов |
| B. Пограничный контроль | Сравнивает строки с одной допустимой ошибкой |
| E. Вставка строк (fast) | Вставляет подстроки в строку |
| E. Вставка строк (slow) | Вставляет подстроки в строку |
| G. Поиск со сдвигом | Ищет подстроки со сдвигом |
| H. Глобальная замена | Заменяет в тексте все вхождения строки s на строку t |
| K. Сравнить две строки | Сравнивает строки, в которых есть только те буквы, которые стоят на четных позициях алфавита |
| L. Подсчёт префикс-функции | Считает префикс-функцию для заданной строки |
| ... | |
| Y. Packed Prefix | README |
| Z. Шпаргалка | README |
