LeetCode
Задачи сгруппированы по темам. ✅ — есть разбор в этой базе (ссылка на заметку), иначе — ссылка на LeetCode. Паттерны и триггеры — см. Паттерны.
📊 Анализ сложности алгоритмов
| Сложность | Задача | |
|---|---|---|
| ☐ | 🟢 | Big O notation |
| ☐ | 🟢 | Big Omega (Ω) |
| ☐ | 🟢 | Big Theta (Θ) |
| ☐ | 🟡 | Амортизационный анализ |
🗂️ Структуры данных
| Сложность | Задача | |
|---|---|---|
| ☐ | 🟢 | Массив |
| ☐ | 🟢 | Связный список |
| ☐ | 🟢 | Двусвязный список |
| ☐ | 🟢 | Стек |
| ☐ | 🟢 | Очередь |
| ☐ | 🟢 | Двусторонняя очередь (Deque) |
| ☐ | 🟡 | Хэш-таблица |
| ☐ | 🟡 | Бинарная куча (Heap) |
| ☐ | 🟡 | Дерево |
| ☐ | 🟡 | Граф |
✨ Алгоритмы сортировки
| Сложность | Задача | |
|---|---|---|
| ☐ | 🟢 | Bubble Sort |
| ☐ | 🟢 | Selection Sort |
| ☐ | 🟢 | Insertion Sort |
| ☐ | 🟡 | Merge Sort |
| ☐ | 🟡 | Quick Sort |
| ☐ | 🟡 | Heap Sort |
| ☐ | 🟡 | Counting Sort |
| ☐ | 🟡 | Radix Sort |
🔍 Бинарный поиск
👉 Два указателя (Two Pointers)
📝 Строки
🔗 Связные списки
🌳 Деревья
🗺️ Хэш-таблицы и множества
📐 Матрицы
| Сложность | Задача | |
|---|---|---|
| ✅ | 🟢 | Matrix Diagonal Sum |
| ✅ | 🟡 | Valid Sudoku |
| ☐ | 🟡 | 01 Matrix |
| ☐ | 🟡 | Maximal Square |
| ☐ | 🟡 | Set Matrix Zeroes |
| ✅ | 🟡 | Spiral Matrix |
| ☐ | 🟡 | Rotate Image |
📚 Стек и очереди
🎲 Битовые манипуляции
| Сложность | Задача | |
|---|---|---|
| ✅ | 🟢 | Power of Two |
| ☐ | 🟢 | Power of Four |
| ✅ | 🟢 | Counting Bits |
| ✅ | 🟢 | Single Number |
| ✅ | 🟢 | Missing Number |
| ☐ | 🟢 | Reverse Bits |
| ☐ | 🟢 | Hamming Distance |
| ☐ | 🟡 | Total Hamming Distance |
🪟 Скользящее окно (Sliding Window)
✨ Графы
| Сложность | Задача | |
|---|---|---|
| Основы | ||
| ☐ | 🟢 | Представление графов |
| ☐ | 🟢 | Список смежности vs матрица смежности |
| Обход графов | ||
| ☐ | 🟡 | DFS |
| ☐ | 🟡 | BFS |
| ☐ | 🟡 | Топологическая сортировка |
| ☐ | 🟡 | Поиск цикла в графе |
| Кратчайшие пути | ||
| ☐ | 🟡 | Dijkstra |
| ☐ | 🟡 | Bellman-Ford |
| ☐ | 🟡 | Floyd-Warshall |
| ☐ | 🟡 | Кратчайший путь в DAG |
| Специальные задачи | ||
| ☐ | 🟡 | Union-Find |
| ☐ | 🟡 | Минимальное остовное дерево |
| ☐ | 🟡 | Путь в графе |
| ☐ | 🟡 | Длина кратчайшего пути |
| Классические задачи на графы (LeetCode) | ||
| ✅ | 🟡 | Number of Islands |
| ✅ | 🟡 | Max Area of Island |
| ☐ | 🟡 | Flood Fill |
| ☐ | 🟡 | Course Schedule |
| ☐ | 🟡 | Course Schedule II |
| ✅ | 🟢 | Find if Path Exists in Graph |
| ☐ | 🟡 | Rotting Oranges |
| ☐ | 🔴 | Clone Graph |
| ✅ | 🔴 | Remove Invalid Parentheses |
🔄 Рекурсия и Backtracking
| Сложность | Задача | |
|---|---|---|
| ✅ | 🟡 | Permutations |
| ✅ | 🟡 | Combination Sum |
| ✅ | 🟡 | Subsets |
| ✅ | 🟡 | Generate Parentheses |
| ✅ | 🟡 | Letter Case Permutation |
| ✅ | 🟡 | Word Search |
| ✅ | 🔴 | N-Queens |
| ☐ | 🔴 | N-Queens II |
| ☐ | 🔴 | Sudoku Solver |
💎 Динамическое программирование
| Сложность | Задача | |
|---|---|---|
| 1D Dynamic Programming | ||
| ✅ | 🟢 | Climbing Stairs |
| ☐ | 🟢 | Fibonacci Numbers |
| ☐ | 🟡 | House Robber |
| ☐ | 🟡 | Min Cost Climbing Stairs |
| ☐ | 🟡 | Decode Ways |
| 2D Dynamic Programming | ||
| ☐ | 🟡 | Unique Paths |
| ☐ | 🟡 | Minimum Path Sum |
| ☐ | 🟡 | Longest Common Subsequence |
| ☐ | 🟡 | Longest Increasing Subsequence |
| ☐ | 🔴 | Edit Distance |
| Классические задачи DP | ||
| ☐ | 🟡 | Knapsack Problem (0/1) |
| ✅ | 🟡 | Coin Change |
| ☐ | 🟡 | Partition Equal Subset Sum |
| ✅ | 🟡 | Максимальная сумма подмассива |
| ☐ | 🟡 | Triangle |
| ☐ | 🟡 | Word Break |
| DP на акциях (Stock Buy/Sell) | ||
| ✅ | 🟢 | Best Time to Buy and Sell Stock |
| ✅ | 🟡 | Best Time to Buy and Sell Stock II |
| ✅ | 🟡 | Best Time to Buy and Sell Stock with Cooldown |
| ✅ | 🟡 | Best Time to Buy and Sell Stock with Transaction Fee |
| DP на деревьях и графах | ||
| ☐ | 🟡 | Кратчайшие пути в DAG |
| ☐ | 🔴 | DP на деревьях |
🎯 Жадные алгоритмы
📊 Продвинутые структуры данных
| Сложность | Задача | |
|---|---|---|
| ☐ | 🟡 | Trie |
| ☐ | 🟡 | Union-Find (DSU) |
| ☐ | 🔴 | Дерево отрезков (Segment Tree) |
| ☐ | 🔴 | Дерево Фенвика (BIT) |
🧩 Дополнительные разборы
Задачи с разбором, которых не было в исходном плане.