- https://proglib.io/p/slozhnost-algoritmov-i-operaciy-na-primere-python-2020-11-03 - сложность операций в Python
- https://pythonist.ru/obhod-dvoichnogo-dereva-na-python/ - обход дерева
- https://eddmann.com/posts/depth-first-search-and-breadth-first-search-in-python/ - BFS/DFS
- https://pythonist.ru/algoritmy-sortirovki-s-python/ - алгоритмы сортировки
- https://habr.com/ru/post/550088/ - Хабр. Собеседование в Яндекс. Театр абсурда.
- Последовательность из 0 и 1
- Списки
- Деревья
- Отрезки
- Скобки/полиз
- Палиндромы/анаграммы
- Геометрические
- Реализовать класс
- Строки/массивы
Yandex_pt1 [1-34]
Yandex_pt2 [35-68]
Yandex_pt3 [69-96]
- 2 Longest Subarray of 1's After Deleting One Element - можно удалить один элемент
- 19 Max Consecutive Ones II - можете превратить в 1 не более одного 0
- 39 Max Consecutive Ones III - вы можете поменять не более k нулей на 1
- 69 Максимальная длина из "1" после удаления одного "0"
- 14 Reverse Linked List [1, 2, 3, 4, 5] -> [5, 4, 3, 2, 1]
- 16 Merge k Sorted Lists [[1, 4, 5], [1, 3, 4], [2, 6]] -> [1, 1, 2, 3, 4, 4, 5, 6]
- 36 Add Two Numbers [2, 4, 3] + [5, 6, 4] -> [7, 0, 8]
- 38 Merge Two Sorted Lists [1, 2, 4], [1, 3, 4] -> [1, 1, 2, 3, 4, 4]
- 50 Remove Nth Node From End of List [1, 2, 3, 4, 5], 2 -> [1, 2, 3, 5]
- 67 Palindrome Linked List [1, 2, 2, 1] -> True
- 28 Symmetric Tree Симметричное ли дерево?
- 30 Validate Binary Search Tree Является ли дерево БДП?
- 42 Lowest Common Ancestor of a Binary Tree - Наименьший общий предок
- 53 Lowest Common Ancestor of a Binary Tree III - Есть ссылка на родителя
- 60 Range Sum of BST - вернуть сумму значений всех узлов со значением в диапазоне [low, high]
- 63 Binary Tree Maximum Path Sum - вернуть максимальную сумму пути любого непустого пути
- 76 Найти наибольшую сумму в дереве
- 79 Binary Tree Zigzag Level Order Traversal - вывести древо зигзагом
- 89 Сериализация/десериализация BST
- 97 Path Sum - Существует ли путь от корня до листа, который равен таргету?
- 22 Merge Intervals - найти интервалы, которыми можно перекрыть заданные
- 25 Meeting Rooms II - найти минимальное количество конференц-залов
- 34 Interval List Intersections - найти пересечение этих двух списков интервалов
- 13 Generate Parentheses - сгенерировать всевозможные скобочные последовательности
- 18 Valid Parentheses - проверить, сбалансирована ли скобочная последовательность
- 45 Evaluate Reverse Polish Notation - ПОЛИЗ
- 6 Valid Palindrome
- 26 Find All Anagrams in a String - найти начальные мндексы анаграм
- 1 Line Reflection - существует ли такая прямая, что после отражения всех точек через данную прямую множество исходных точек совпадает с множеством отраженных
- 55 Maximal Rectangle - найти наибольший прямоугольник из 1
- 72 Определить номер первой колонки, в которой есть хоть одна единица
- 90 Развернуть матрицу на 90 градусов
- 91 Spiral Matrix II - Генерация спиральной матрицы
- 5 Zigzag Iterator
- 11 Insert Delete GetRandom O(1)
- 12 LRU Cache
- 32 Flatten Nested List Iterator - [[[1], 2, [4]], [4, [5]]] -> [1, 2, 3, 4, 5]
- 35 Implement Queue using Stacks - реализовать очередь через стек
- 52 Max Stack - операции с максимальным числом в стеке
- 7 One Edit Distance - Строку можно получить из другой одним редактированием
- 15 Permutation in String - Вернуть true, если одна из перестановок s1 является подстрокой s2.
- 48 Is Subsequence - Является ли одна строка подпоследовательностью другой
- 73 Можно ли получить одну строку из другой за <= 1 одно исправление
- 8 Subarray Sum Equals K - Вернуть общее количество подмассивов, сумма которых равна k
- 99 Найти индекс подмассива, сумма которого равна k
- 64 Continuous Subarray Sum - непрерывная подпоследовательность, сумма которой кратна k
- 95 Subarray Sums Divisible by K - Найти количество не пустых подмассивов, сумма которых кратна k
- 70 Найти подотрезок с наименьшей суммой по модулю
- 71 Найти подотрезок с наибольшей суммой
- 54 Longest Substring with At Most Two Distinct Characters - Самая длинная подстрока, элементы встречаются максимум два раза
- 29 Longest Substring Without Repeating Characters - Самая длинная подстрока без повторяющихся символов
- 33 Consecutive Characters - Найти максимальную длину непустой подстроки, содержащей только один уникальный символ
- 74 Найти подстроку, которая совпадает с точностью до перестановки
- 40 Longest Palindromic Substring - Самая длинная подстрока палиндром
- 78 Minimum Window Substring - минимальная подстрока, содержащая перестановку
- 24 Two Sum - Найти два числа, которые дают таргет
- 57 Two Sum II - Input Array Is Sorted - два числа, которые дают таргет
- 96 3 Sum - Найти три числа, которые дают таргет
- 46 Median of Two Sorted Arrays - Найти средний элемент из двух слитых отсортированных отрезков
- 43 Intersection of Two Arrays II - Пересечение двух массивов (кол-во сохраняется)
- 51 Perfect Squares - 12 -> 3 (4 + 4 + 4 = 12)
- 56 Search in Rotated Sorted Array - [4,6,8,9,1,3] (Найти за nlogn)
- 59 Find Minimum in Rotated Sorted Array - минимум в сдвинутом массиве
- 62 Product of Array Except Self - a -> res (res[i] = a[0]*...*a[i-1]a[i+1]...)
- 68 First Unique Character in a String - Найти индекс первого уникального символа
- 84 Minimum Operations to Make Array Equal - найти минимальное количество операций, чтобы сделать все элементы равными
- 86 Find Smiles Position - найти в строке позиции смайлов вида :-)
- 94 Find K Closest Elements - Найти K ближайших элементов
- 81 Count Number of Occurrences in a Sorted Array - в отсортированном массивее найти количество вхождений
- 92 Find the Index of the First Occurrence in a String - Найти первое вхождение одной строки в другую
- 93 Find First and Last Position of Element in Sorted Array - Найти первое и последнее вхождение элемента в отсортированном списке
- 3 Summary Ranges - [0, 1, 2, 4, 5, 7] -> ["0->2", "4->5", "7"]
- 4 String Compression - ["a","a","b","b","c","c","c"] -> ["a","2","b","2","c","3"]
- 9 Move Zeroes - [0,1,0,3,12] -> [1,3,12,0,0]
- 10 Group Anagrams - ["eat","tea","tan","ate","nat","bat"] -> [["bat"],["nat","tan"],["ate","eat","tea"]]
- 37 Merge Sorted Array - Слить два неубывающих массива в один неубывающий
- 49 Squares of a Sorted Array - [-4,-1,0,3,10] -> [0,1,9,16,100]
- 58 Remove Duplicates from Sorted Array - [0,0,1,1,1,2,2,3,3,4] -> [0,1,2,3,4,,,,,]
- 61 Partition Labels - Разделить строку на как можно больше частей, чтобы каждая буква встречалась не более чем в одной части
- 65 Reverse Words in a String III - Перевернуть все слова в строке
- 85 Remove All Occurrences of a Substring - "axxxxyyyyb", "xy" -> "ab"
- 17 Number of Recent Calls
- 21 Design Hit Counter
- 47 Simplify Path - упростить путь url
- 80 Logger Rate Limiter
- 20 Maximize Distance to Closest Person - посадить человека дальше от всех
- 23 Trapping Rain Water - найти количество воды после дождя
- 31 Number of Islands - найти количество островов из 1
- 41 Jewels and Stones
- 77 Найти максимальное число постояльцев, которые одновременно проживали в гостинице
- 82 Minimize the Maximum Difference between Heights
- 87 Здания, которые могут увидеть закат
- 88 Здания, которые могут увидеть океан
- 96 Reconstruct Itinerary - Проложить путь для аэропортов
- 27 Implement Rand10() Using Rand7() - реализовать рандомайзер до 10 через ранд до 7
- 44 Missing Number - Вернуть пропущенное число из диапазона [0..n]
- 66 Add Strings - Сложить строки как числа
- 75 Перевернуть int
- 83 Find smallest missing number in sorted array - найти наименьшее пропущенное число
Список задач, которые рекомендуют прорешать перед собеседованием