Разбор задач по алгоритмам и структурам данных на Python.
Каждый файл — рабочее решение плюс шапка: ссылка на задачу, идея в двух строках и асимптотика по времени и памяти.
Задачи разложены по приёмам, а не по номерам: рядом лежит то, что решается одинаково. Так видно, что приём — это не про конкретную задачу, а про класс задач.
two-pointers/ два указателя
sliding-window/ скользящее окно
hash-table/ хеш-таблица и множество
prefix-sums/ префиксные суммы
monotonic-stack/ монотонный стек
greedy/ жадные и однопроходные
Имя файла — номер задачи с ведущими нулями плюс slug, чтобы сортировка внутри папки совпадала с нумерацией.
| № | Задача | Сложность | Время | Память |
|---|---|---|---|---|
| 15 | 3Sum | Medium | O(n²) | O(1) |
| 125 | Valid Palindrome | Easy | O(n) | O(n) |
| 167 | Two Sum II | Medium | O(n) | O(1) |
| 283 | Move Zeroes | Easy | O(n) | O(1) |
| № | Задача | Сложность | Время | Память |
|---|---|---|---|---|
| 3 | Longest Substring Without Repeating Characters | Medium | O(n) | O(k) |
| 209 | Minimum Size Subarray Sum | Medium | O(n) | O(1) |
| № | Задача | Сложность | Время | Память |
|---|---|---|---|---|
| 1 | Two Sum | Easy | O(n) | O(n) |
| 217 | Contains Duplicate | Easy | O(n) | O(n) |
| № | Задача | Сложность | Время | Память |
|---|---|---|---|---|
| 560 | Subarray Sum Equals K | Medium | O(n) | O(n) |
| № | Задача | Сложность | Время | Память |
|---|---|---|---|---|
| 739 | Daily Temperatures | Medium | O(n) | O(n) |
| № | Задача | Сложность | Время | Память |
|---|---|---|---|---|
| 121 | Best Time to Buy and Sell Stock | Easy | O(n) | O(1) |
Итого: 11 — Easy 5, Medium 6, Hard 0.
LeetCode — paramprogleet