Содержание курса
Two Pointers
14 уроков
1.
Введение в Two Pointers
↗
2.
Задача: сортировка цветов
↗
3.
Задача: Reverse Words in a String
↗
4.
Задача: 3Sum
↗
5.
Добавить символы в строку, чтобы получить подпоследовательность
↗
6.
Lowest Common Ancestor бинарного дерева (вариант III)
↗
7.
Мин. количество шагов для преобразования строки в палиндром
↗
8.
Задача: следующий палиндром с теми же цифрами
↗
9.
Задача: Create Maximum Number
↗
10.
Задача: Valid Palindrome
↗
11.
Задача: Valid Word Abbreviation
↗
12.
Проблема: Strobogrammatic Number
↗
13.
Задача: Квадраты отсортированного массива
↗
14.
Reverse String
↗
Fast и Slow Pointers
11 уроков
1.
Введение в Fast and Slow Pointers
↗
2.
Задача: найти повторяющееся число
↗
3.
Задача: Циклический проход по массиву
↗
4.
Задача: Linked List Cycle III
↗
5.
Проблема: Linked List Cycle IV
↗
6.
Задача: Максимальная сумма пар в связном списке
↗
7.
Проблема: Разделение кольцевого связного списка
↗
8.
Задача: цикл в связном списке
↗
9.
Задача: Палиндром в связном списке
↗
10.
Задача: Happy Number
↗
11.
Задача: найти средний элемент связного списка
↗
Sliding Window
16 уроков
1.
Введение в Sliding Window
↗
2.
Проблема: Самая длинная подстрока без повторяющихся символов
↗
3.
Задача: Замена символов для максимальной повторяющейся подстроки
↗
4.
Задача: Повторяющиеся DNA-последовательности
↗
5.
Минимальная длина подмассива с заданной суммой
↗
6.
Задача: Фрукты в корзины
↗
7.
Задача: Частота самого частого элемента
↗
8.
Задача: Minimum Window Substring
↗
9.
Проблема: Minimum Window Subsequence
↗
10.
Задача: Максимум в скользящем окне
↗
11.
: Подмассивы с K разными числами
↗
12.
Задача: Подсчёт подмассивов с оценкой меньше K
↗
13.
Подсчет подстрок с символами, встречающимися как мин. K раз (II)
↗
14.
Задача: лучшая точка для покупки и продажи акции
↗
15.
Задача: Максимальный средний подмассив I
↗
16.
Задача: Diet Plan Performance
↗
Intervals
10 уроков
1.
Введение в интервалы
↗
2.
Задача: Merge Intervals
↗
3.
Проблема: Insert Interval
↗
4.
Проблема: Meeting Rooms II
↗
5.
Задача: Планировщик задач
↗
6.
Задача: Пересечение списков интервалов
↗
7.
Задача: Удалить покрытые интервалы
↗
8.
Задача: Подсчитать количество дней без встреч
↗
9.
Задача: Car Pooling
↗
10.
Задача: Свободное время сотрудников
↗
In-place манипуляции со связанным списком
13 уроков
1.
Введение в in-place манипуляции со связанным списком
↗
2.
Задача: Поменять узлы местами по парам
↗
3.
Проблема: Reorder List
↗
4.
Задача: Reverse Linked List II
↗
5.
Задача: перестановка узлов в связанном списке
↗
6.
Задача: разворот узлов в группах с чётной длиной
↗
7.
Задача: Разделить связный список на части
↗
8.
Задача: Вставка в отсортированный циклический связный список
↗
9.
Задача: Odd Even Linked List
↗
10.
Задача: Развернуть узлы в связном списке группами по k
↗
11.
Задача: Развернуть связный список
↗
12.
Задача: Удаление элементов связного списка
↗
13.
Задача: Удалить N узлов после M узлов в связанном списке
↗
Кучи
9 уроков
1.
Введение в кучи
↗
2.
Задача: Планирование задач с минимальным числом машин
↗
3.
Задача: Минимальная стоимость соединения палочек
↗
4.
Задача: Longest Happy String
↗
5.
Задача: Maximum Average Pass Ratio
↗
6.
Задача: Номер наименьшего свободного стула
↗
7.
Задача: Find Right Interval
↗
8.
Задача: найти медиану в потоке данных
↗
9.
Задача: Максимизировать капитал
↗
K-way Merge
7 уроков
1.
Введение в K-way Merge
↗
2.
Задача: найти K пар с минимальными суммами
↗
3.
Задача: k-й наименьший элемент в отсортированной матрице
↗
4.
Задача: k-й наименьший элемент в m отсортированных списках
↗
5.
Задача: k-я наименьшая простая дробь
↗
6.
Задача: Super Ugly Number
↗
7.
Задача: Слияние K отсортированных списков
↗
Top K Elements
7 уроков
1.
Введение в Top K Elements
↗
2.
Задача: Топ K самых частых элементов
↗
3.
Задача: k-й наибольший элемент в массиве
↗
4.
Задача: Reorganize String
↗
5.
Проблема: K ближайших точек к началу координат
↗
6.
Максимальный счёт после применения K операций
↗
7.
Задача: найти k-й по величине элемент в массиве
↗
Модифицированный бинарный поиск
5 уроков
1.
Введение в модифицированный бинарный поиск
↗
2.
Проблема: единственный элемент в отсортированном массиве
↗
3.
Проблема: Поиск в повёрнутом отсортированном массиве
↗
4.
Проблема: найти k ближайших элементов
↗
5.
Проблема: Поиск в повернутом отсортированном массиве II
↗
Subsets
6 уроков
1.
Введение в подмножества
↗
2.
Проблема: Permutations
↗
3.
Задача: Комбинации букв по номеру телефон
↗
4.
Задача: Subsets
↗
5.
Задача: найти подмножества с суммой K
↗
6.
Проблема: Перестановка букв в письме
↗
Greedy Techniques
5 уроков
1.
Введение в жадные техники
↗
2.
Задача: Jump Game I
↗
3.
Задача: Jump Game II
↗
4.
Задача: Gas Stations
↗
5.
Задача: Boats to Save People
↗
Backtracking
5 уроков
1.
Введение в backtracking
↗
2.
Задача: Поиск слова
↗
3.
Задача: House Robber III
↗
4.
Разбить строку на максимальное количество уникальных подстрок
↗
5.
Задача: Все пути от источника к цели
↗
Динамическое программирование
5 уроков
1.
Введение в динамическое программирование
↗
2.
Задача: Палиндромные подстроки
↗
3.
Задача: Размен монет
↗
4.
Задача: Combination Sum
↗
5.
Задача: Word Break
↗
Циклическая сортировка
6 уроков
1.
Введение в Cyclic Sort (циклическую сортировку)
↗
2.
Задача: Найти повреждённую пару
↗
3.
Задача: первое отсутствующее положительное число
↗
4.
Задача: Missing Number
↗
5.
Проблема: Sort Array By Parity II
↗
6.
Задача: Циклическая сортировка
↗
Топологическая сортировка
5 уроков
1.
Введение в топологическую сортировку
↗
2.
Задача: Расписание курсов
↗
3.
Задача: найти все возможные рецепты из доступных ингредиентов
↗
4.
Проблема: порядок компиляции
↗
5.
Задача: Parallel Courses
↗