leet code
1.0.0
Отказ от ответственности: вопросы здесь не имеют ничего общего с конкретным интервью и не имеют какого-либо направления; эти вопросы представляют собой опыт и резюме, которые я накопил в процессе усердной работы над ответами на вопросы!
Этот сайт существует уже более 7 лет, и я очень рад, что он может помочь нуждающимся людям. Информация ценна, а знания бесценны. Всякий раз, когда у меня есть свободное время, я буду поддерживать этот репозиторий и высказывать некоторые свои мысли. и идеи для друзей, которые решают вопросы. Давайте дадим краткое введение:
Литкод# | Проблема | Уровень | Теги | Время | Космос | Язык | Последовательность |
---|---|---|---|---|---|---|---|
Н/Д | Jump Game II.java | Жесткий | [Массив, ДП координат, ДП, Жадный] | На) | О(1) | Ява | 0 |
Н/Д | Номер большинства II.java | Середина | [Перечисление, Жадность] | Ява | 1 | ||
Н/Д | Поиск 2D-матрицы II.java | Середина | [Двоичный поиск, разделяй и властвуй] | Ява | 2 | ||
Н/Д | Отсутствующие диапазоны.java | Середина | [Множество] | Ява | 3 | ||
Н/Д | Преемник Inorder в BST.java | Середина | [BST,Дерево] | Ява | 4 | ||
Н/Д | Преобразовать целое число A в целое число B.java | Легкий | [Битовые манипуляции] | Ява | 5 | ||
Н/Д | Рюкзак VI.java | Середина | [Рюкзак ДП, ДП] | Ява | 6 | ||
Н/Д | Общее появление Target.java | Середина | [] | Ява | 7 | ||
Н/Д | Грабитель дома III.java | Середина | [DFS, DP, статус DP, дерево] | Ява | 8 | ||
Н/Д | Максимальная сумма путей двоичного дерева II.java | Середина | [ДФС,Дерево] | Ява | 9 | ||
Н/Д | Рюкзак В.java | Середина | [Рюкзак ДП, ДП] | Ява | 10 | ||
Н/Д | Ближайшее число в отсортированном массиве Array.java | Легкий | [Двоичный поиск] | Ява | 11 | ||
Н/Д | Преобразование выражения в польскую нотацию.java | Жесткий | [Двоичное дерево, DFS, дерево выражений, стек] | Ява | 12 | ||
Н/Д | Отсутствует номер.java | Легкий | [Массив, Битовые манипуляции, Математика] | Ява | 13 | ||
Н/Д | Восстановить IP-адреса.java | Середина | [Возврат, DFS, Строка] | Ява | 14 | ||
Н/Д | Цикл связанных списков II.java | Середина | [Связанный список, математика, два указателя] | Ява | 15 | ||
Н/Д | Уникальное дерево двоичного поиска.java | Середина | [ТВ, ДП, Дерево] | Ява | 16 | ||
Н/Д | Самое большое число.java | Середина | [Сортировать] | Ява | 17 | ||
Н/Д | Обратный String.java | Легкий | [Строка, два указателя] | Ява | 18 | ||
Н/Д | Треугольники.java | Середина | [Массив, координата DP, DFS, DP, мемоизация] | Ява | 19 | ||
Н/Д | Лягушка Jump.java | Жесткий | [DP, хэш-таблица] | Ява | 20 | ||
Н/Д | SummaryRanges.java | Середина | [Множество] | Ява | двадцать один | ||
Н/Д | Скользящее окно Median.java | Жесткий | [Дизайн, Куча, МаксHeap, MinHeap, Скользящее окно] | Ява | двадцать два | ||
Н/Д | Единый номер III.java | Середина | [Битовые манипуляции] | Ява | двадцать три | ||
Н/Д | Завершающие нули.java | Легкий | [Математика] | Ява | двадцать четыре | ||
Н/Д | Быстрая мощность.java | Середина | [DFS, Разделяй и властвуй] | Ява | 25 | ||
Н/Д | Идеальный прямоугольник.java | Жесткий | [Дизайн, Геометрия, Хэш-таблица] | Ява | 26 | ||
Н/Д | Общее расстояние Хэмминга.java | Середина | [Битовые манипуляции] | На) | O(1), 32-битный массив | Ява | 27 |
Н/Д | Шаблон слова.java | Легкий | [] | Ява | 28 | ||
Н/Д | Two Sum IV — входные данные — BST.java | Легкий | [Дерево] | Ява | 29 | ||
Н/Д | Считайте 1 в Binary.java | Легкий | [Битовые манипуляции] | Ява | 30 | ||
Н/Д | Два списка Sum.java | Середина | [Связанный список] | Ява | 31 | ||
Н/Д | Сгладить 2D Vector.java | Середина | [Дизайн] | Ява | 32 | ||
Н/Д | Расстояние Хэмминга.java | Легкий | [] | Ява | 33 | ||
Н/Д | Найдите компонент слабой связности в ориентированном графе Graph.java | Середина | [Найти Союз] | Ява | 34 | ||
Н/Д | Минимальное количество интервалов.java | Середина | [Двоичный поиск, разделяй и властвуй, ворс, дерево сегментов] | Ява | 35 | ||
Н/Д | Каменная игра.java | Середина | [ДП] | Ява | 36 | ||
Н/Д | Самая длинная возрастающая непрерывная подпоследовательность II.java | Середина | [Массив, координата DP, DP, мемоизация] | Ява | 37 | ||
Н/Д | PlusOne.java | Легкий | [Массив, Математика] | Ява | 38 | ||
Н/Д | Краска Fence.java | Легкий | [ДП, Последовательность ДП] | На) | На) | Ява | 39 |
Н/Д | Отражение линии.java | Середина | [Хеш-таблица, математика] | На) | На) | Ява | 40 |
Н/Д | Двоичное представление.java | Жесткий | [Битовая манипуляция, строка] | Ява | 41 | ||
Н/Д | Самая длинная последовательная последовательность.java | Жесткий | [Массив, хэш-таблица, поиск объединения] | Ява | 42 | ||
Н/Д | Найти минимум в отсортированном массиве Array.java | Середина | [Массив, двоичный поиск] | Ява | 43 | ||
Н/Д | Самая длинная последовательная последовательность двоичного дерева II.java | Середина | [DFS, разделяй и властвуй, двойная рекурсия, дерево] | Ява | 44 | ||
Н/Д | Минимальный Subarray.java | Легкий | [Массив, DP, Жадный, DP последовательности, Подмассив] | О (м) | О(1) | Ява | 45 |
Н/Д | Подключение Graph.java | Середина | [Найти Союз] | Ява | 46 | ||
Н/Д | Подсчет меньшего числа.java | Середина | [Двоичный поиск, Lint, Дерево сегментов] | Ява | 47 | ||
Н/Д | Двоичный разрыв.java | Легкий | [Битовые манипуляции] | O(n), n = количество битов | О(1) | Ява | 48 |
Н/Д | Перевернуть игру II.java | Середина | [Откат, DFS, DP] | Ява | 49 | ||
Н/Д | Поддерево другого дерева.java | Легкий | [DFS, Разделяй и властвуй, Дерево] | Ява | 50 | ||
Н/Д | Обход порядка на уровне двоичного дерева II.java | Середина | [БФС, Дерево] | Ява | 51 | ||
Н/Д | Максимальный средний подмассив I.java | Легкий | [Массив, Подмассив] | На) | О(1) | Ява | 52 |
Н/Д | IndexMatch.java | Легкий | [] | Ява | 53 | ||
Н/Д | Стены и ворота.java | Середина | [БФС, ДФС] | Ява | 54 | ||
Н/Д | ДекодированиеString.java | Середина | [DFS, разделяй и властвуй, стек] | Ява | 55 | ||
Н/Д | Лабиринт.java | Середина | [БФС, ДФС] | Ява | 56 | ||
Н/Д | Палиндромные подстроки.java | Середина | [ДП, Строка] | Ява | 57 | ||
Н/Д | Переставить строку k Distance Apart.java | Жесткий | [Жадный, Хэш-таблица, Куча] | Ява | 58 | ||
Н/Д | Посчитай и скажи.java | Легкий | [Базовая реализация, строка] | Ява | 59 | ||
Н/Д | Медиана двух отсортированных массивов.java | Жесткий | [Массив, двоичный поиск, DFS, разделяй и властвуй] | Ява | 60 | ||
Н/Д | Идеальные квадраты.java | Середина | [BFS, DP, математика, DP раздела] | Ява | 61 | ||
Н/Д | Поиск слов.java | Середина | [Массив, возврат, DFS] | Ява | 62 | ||
Н/Д | Рюкзак II.java | Середина | [Рюкзак ДП, ДП] | Ява | 63 | ||
Н/Д | Изменить форму Matrix.java | Легкий | [] | Ява | 64 | ||
Н/Д | Обновить Bits.java | Середина | [Битовые манипуляции] | Ява | 65 | ||
Н/Д | Треугольник Count.java | Середина | [Множество] | Ява | 66 | ||
Н/Д | Удалить повторяющиеся буквы Letters.java | Жесткий | [Жадный, Хэш-таблица, Стек] | Ява | 67 | ||
Н/Д | Последовательность перестановок.java | Середина | [Возврат, Математика] | Ява | 68 | ||
Н/Д | Грабитель дома II.java | Середина | [ДП, ДП последовательности, ДП состояния] | Ява | 69 | ||
Н/Д | O(1) Проверить мощность 2.java | Легкий | [Битовые манипуляции] | Ява | 70 | ||
Н/Д | Буквенные комбинации номера телефона.java | Середина | [Возврат, Строка] | Ява | 71 | ||
Н/Д | Backspace String Compare.java | Легкий | [Стек, два указателя] | Ява | 72 | ||
Н/Д | Подмассив минимального размера Sum.java | Середина | [Массив, двоичный поиск, подмассив, два указателя] | На) | О(1) | Ява | 73 |
Н/Д | Реализация стека с использованием Queues.java | Легкий | [Дизайн, Стек] | Ява | 74 | ||
Н/Д | Минимальная абсолютная разница в BST.java | Легкий | [ПСТ] | Ява | 75 | ||
Н/Д | Максимальное двоичное дерево.java | Середина | [Стопка, Дерево] | Ява | 76 | ||
Н/Д | ColorGrid.java | Середина | [Дизайн, хеш-таблица] | Ява | 77 | ||
Н/Д | HashWithArray.java | Легкий | [] | Ява | 78 | ||
Н/Д | Заливка заливки.java | Легкий | [ДФС] | Ява | 79 | ||
Н/Д | Построить двоичное дерево из Inorder и Postorder Traversal.java | Середина | [Массив, DFS, Разделяй и Властвуй, Дерево] | Ява | 80 | ||
Н/Д | Рюкзак.java | Середина | [Рюкзак ДП, ДП] | Ява | 81 | ||
Н/Д | Самая длинная общая подпоследовательность.java | Середина | [ДП, Двойная последовательность ДП, Последовательность ДП] | Ява | 82 | ||
Н/Д | PeekingIterator.java | Середина | [Дизайн] | Ява | 83 | ||
Н/Д | Упорядоченная очередь.java | Жесткий | [Математика, Строка] | Ява | 84 | ||
Н/Д | Быстрая сортировка.java | Середина | [Быстрая сортировка, сортировка] | Ява | 85 | ||
Н/Д | Максимальныйпрямоугольник.java | Жесткий | [Массив, DP, хеш-таблица, стек] | Ява | 86 | ||
Н/Д | Оценка выражения.java | Жесткий | [Двоичное дерево, DFS, Дерево выражений, Минимальное двоичное дерево, Стек] | Ява | 87 | ||
Н/Д | Поддерево.java | Легкий | [ДФС,Дерево] | Ява | 88 | ||
Н/Д | LFU Cache.java | Жесткий | [Дизайн, хеш-таблица] | Ява | 89 | ||
Н/Д | Косинусное сходство.java | Легкий | [Базовая реализация] | Ява | 90 | ||
Н/Д | Скрэмбл String.java | Жесткий | [ДП, Интервальный ДП, Строка] | Ява | 91 | ||
Н/Д | Резервное соединение.java | Середина | [BFS, DFS, график, дерево, поиск объединения] | Ява | 92 | ||
Н/Д | RotateList.java | Середина | [Связанный список, два указателя] | Ява | 93 | ||
Н/Д | Поменять узлы в Pairs.java | Середина | [Связанный список] | Ява | 94 | ||
Н/Д | Самая длинная возрастающая непрерывная подпоследовательность.java | Легкий | [Массив, координата DP, DP] | Ява | 95 | ||
Н/Д | K Редактировать Distance.java | Жесткий | [DP, двойная последовательность DP, последовательность DP, Trie] | Ява | 96 | ||
Н/Д | Комбинации.java | Середина | [Возврат, Комбинация, DFS] | Ява | 97 | ||
Н/Д | Максимальная площадь Island.java | Легкий | [Массив, DFS] | Ява | 98 | ||
Н/Д | Сортировать список.java | Середина | [Разделяй и властвуй, Связанный список, Сортировка слиянием, Сортировка] | Ява | 99 | ||
Н/Д | Найти пик Element.java | Середина | [Массив, двоичный поиск] | Ява | 100 | ||
Н/Д | Поиск слов II.java | Жесткий | [Откат, DFS, Trie] | Ява | 101 | ||
Н/Д | K Пустые слоты.java | Жесткий | [Массив, BST, TreeSet] | Ява | 102 | ||
Н/Д | Код Грея.java | Середина | [возврат] | Ява | 103 | ||
Н/Д | Кодирование и декодирование TinyURL.java | Середина | [Хеш-таблица, математика] | Ява | 104 | ||
Н/Д | Игра Жизни.java | Середина | [Множество] | Ява | 105 | ||
Н/Д | Сравнить номера версий.java | Середина | [Нить] | Ява | 106 | ||
Н/Д | Синглтон.java | Легкий | [Дизайн] | Ява | 107 | ||
Н/Д | UglyNumber.java | Середина | [Математика] | Ява | 108 | ||
Н/Д | Русская кукла Конверты.java | Жесткий | [Двоичный поиск, DP по координатам, DP] | Ява | 109 | ||
Н/Д | Перефразирование.java | Середина | [Хеш-таблица] | Ява | 110 | ||
Н/Д | K-я наименьшая сумма в двух отсортированных массивах.java | Жесткий | [] | Ява | 111 | ||
Н/Д | Самая длинная общая подстрока.java | Середина | [DP, Двойная последовательность DP, Последовательность DP, Строка] | Ява | 112 | ||
Н/Д | RotateImage.java | Середина | [Массив, Перечисление] | Ява | 113 | ||
Н/Д | Рюкзак III.java | Жесткий | [Рюкзак ДП, ДП] | Ява | 114 | ||
Н/Д | Сумма комбинации IV.java | Середина | [Массив, ДП рюкзака, ДП] | Ява | 115 | ||
Н/Д | Число самой длинной возрастающей подпоследовательности.java | Середина | [Координата ДП, ДП] | О(п^2) | Ява | 116 | |
Н/Д | Индекс перестановки.java | Легкий | [] | Ява | 117 | ||
Н/Д | 4Sum.java | Середина | [Хеш-таблица] | Ява | 118 | ||
Н/Д | Кратчайший палиндром.java | Жесткий | [КМП, строка] | Ява | 119 | ||
Н/Д | Преобразование отсортированного массива в дерево двоичного поиска.java | Легкий | [DFS, Разделяй и властвуй, Дерево] | Ява | 120 | ||
Н/Д | Заполнение следующих правых указателей в каждом Node.java | Середина | [DFS, Разделяй и властвуй, Дерево] | Ява | 121 | ||
Н/Д | Замена пространства.java | Середина | [Нить] | Ява | 122 | ||
Н/Д | Непрерывный массив.java | Середина | [Хеш-таблица] | Ява | 123 | ||
Н/Д | Обратный связанный список II .java | Середина | [Связанный список] | Ява | 124 | ||
Н/Д | Палиндромные пары.java | Жесткий | [Хеш-таблица, строка, тройка] | Ява | 125 | ||
Н/Д | Найти элемент пика II.java | Жесткий | [Двоичный поиск, DFS, разделяй и властвуй] | Ява | 126 | ||
Н/Д | Минимальная высота Trees.java | Середина | [БФС, График] | Ява | 127 | ||
Н/Д | Самая длинная подстрока без повторяющихся символов.java | Середина | [Хеш-таблица, строка, два указателя] | Ява | 128 | ||
Н/Д | Дробь для повторяющейся десятичной дроби.java | Середина | [Хеш-таблица, математика] | Ява | 129 | ||
Н/Д | WiggleSort.java | Середина | [Массив, Сортировка] | Ява | 130 | ||
Н/Д | Обратные слова в строке II.java | Середина | [Нить] | Ява | 131 | ||
Н/Д | Удалить узел в дереве двоичного поиска.java | Жесткий | [ПСТ] | Ява | 132 | ||
Н/Д | ReorderList.java | Середина | [Связанный список] | Ява | 133 | ||
Н/Д | Резервное соединение II.java | Жесткий | [DFS, график, дерево, поиск объединения] | Ява | 134 | ||
Н/Д | [инструмент] Быстрый выбор — Median.java | Легкий | [Массив, Lint, Быстрый выбор, Быстрая сортировка, Два указателя] | На) | О (логН) | Ява | 135 |
Н/Д | Обмен битами.java | Легкий | [Битовые манипуляции] | Ява | 136 | ||
Н/Д | Друзья соответствующего возраста.java | Середина | [Массив, Математика] | Ява | 137 | ||
Н/Д | Самая длинная возрастающая подпоследовательность.java | Середина | [Двоичный поиск, DP по координатам, DP, Мемоизация] | O(n^2) dp, O(nLogN) бинарный поиск | На) | Ява | 138 |
Н/Д | Сила двух.java | Легкий | [Битовые манипуляции, математика] | Ява | 139 | ||
Н/Д | MinStack.java | Легкий | [Дизайн, Стек] | Ява | 140 | ||
Н/Д | Подсчет меньшего числа перед самим собой.java | Жесткий | [] | Ява | 141 | ||
Н/Д | Номер большинства III.java | Середина | [Хеш-таблица, связанный список] | Ява | 142 | ||
Н/Д | Число цифр один.java | Жесткий | [Математика] | Ява | 143 | ||
Н/Д | Изменено идентичное двоичное дерево.java | Легкий | [ДФС,Дерево] | Ява | 144 | ||
Н/Д | Диапазон поиска в двоичном дереве поиска .java | Середина | [BST, двоичное дерево] | Ява | 145 | ||
Н/Д | Лучшее время для покупки и продажи акций III.java | Жесткий | [Массив, DP, Последовательность DP] | Ява | 146 | ||
Н/Д | Автозаполнение поиска дизайна System.java | Жесткий | [Проектирование, хеш-таблица, MinHeap, PriorityQueue, Trie] | ввод: O(x), где x = возможные слова, конструктор: O(mn) m = максимальная длина, n = количество слов | O(n^2), n = # возможных слов, n = # уровней дерева, сохраняя Map<S, freq> | Ява | 147 |
Н/Д | ПодмножестваII.java | Середина | [Массив, BFS, возврат, DFS] | О (2 ^ п) | Ява | 148 | |
Н/Д | Одно расстояние редактирования.java | Середина | [Нить] | Ява | 149 | ||
Н/Д | Дерево сегментов Modify.java | Середина | [Двоичное дерево, DFS, разделяй и властвуй, Lint, дерево сегментов] | Ява | 150 | ||
Н/Д | Отличительные подпоследовательности.java | Жесткий | [ДП, Строка] | Ява | 151 | ||
Н/Д | Вставить узел в двоичное дерево поиска .java | Легкий | [ПСТ] | Ява | 152 | ||
Н/Д | Контейнер с большей частью воды.java | Середина | [Массив, два указателя] | Ява | 153 | ||
Н/Д | Словесная лестница.java | Середина | [БФС] | Ява | 154 | ||
Н/Д | Единый номер II.java | Середина | [Битовые манипуляции] | Ява | 155 | ||
Н/Д | Обогреватели.java | Легкий | [] | Ява | 156 | ||
Н/Д | K-й наименьший элемент в BST.java | Середина | [BST, DFS, стек, дерево] | Ява | 157 | ||
Н/Д | Робот-уборщик помещений.java | Жесткий | [Возврат, DFS] | Ява | 158 | ||
Н/Д | Монеты в строке II.java | Середина | [Массив, DP, Теория игр, Мемоизация, MiniMax] | Ява | 159 | ||
Н/Д | Список разделов.java | Середина | [Связанный список, два указателя] | Ява | 160 | ||
Н/Д | Классический двоичный поиск.java | Легкий | [Двоичный поиск] | Ява | 161 | ||
Н/Д | Wood Cut.java | Середина | [Двоичный поиск] | Ява | 162 | ||
Н/Д | Подключение графа III.java | Середина | [Найти Союз] | Ява | 163 | ||
Н/Д | Инвертировать двоичное дерево.java | Легкий | [БФС, ДФС, Дерево] | Ява | 164 | ||
Н/Д | Удалить дубликаты из несортированного списка List.java | Середина | [Связанный список] | Ява | 165 | ||
Н/Д | Сумма подмассива максимального размера равна k.java | Середина | [Хеш-таблица, предварительная сумма, подмассив] | На) | На) | Ява | 166 |
Н/Д | Самая маленькая разница.java | Середина | [Массив, Сортировка, Два указателя] | Ява | 167 | ||
Н/Д | Уникальное двоичное дерево поиска II.java | Середина | [BST, ДП, Разделяй и властвуй, Дерево] | Ява | 168 | ||
Н/Д | Кодирование и декодирование Strings.java | Середина | [Нить] | Ява | 169 | ||
Н/Д | Удалить дубликаты из отсортированного списка II.java | Середина | [Связанный список] | Ява | 170 | ||
Н/Д | Сумма подмассива II.java | Жесткий | [Массив, двоичный поиск, два указателя] | Ява | 171 | ||
Н/Д | Матрица зигзагообразного обхода.java | Легкий | [] | Ява | 172 | ||
Н/Д | Единицы и нули.java | Жесткий | [ДП] | Ява | 173 | ||
Н/Д | Количество связанных компонентов в ненаправленном Graph.java | Середина | [BFS, DFS, график, поиск объединения] | Ява | 174 | ||
Н/Д | ПодматрицаSum.java | Середина | [Массив, Хэш-таблица, PreSum] | Ява | 175 | ||
Н/Д | ЗигзагИтератор.java | Середина | [ПСТ] | Ява | 176 | ||
Н/Д | Найдите связный компонент в ненаправленном Graph.java | Середина | [БФС, ДФС] | Ява | 177 | ||
Н/Д | РеализацияStack.java | Легкий | [Куча] | Ява | 178 | ||
Н/Д | Количество самолетов в небе.java | Середина | [Массив, Интервал, PriorityQueue, Сортировка, Очистка линии] | Ява | 179 | ||
Н/Д | Окружающие регионы.java | Середина | [BFS, DFS, Matrix DFS, поиск объединения] | Ява | 180 | ||
Н/Д | Подстановочный знак Matching.java | Жесткий | [Откат, DP, DP двойной последовательности, жадный, DP последовательности, строка] | Ява | 181 | ||
Н/Д | Выражение Добавить Операторы.java | Жесткий | [Возврат, DFS, Разделяй и Властвуй, Строка] | О(4^n) | О(4^n) | Ява | 182 |
Н/Д | Взлом Safe.java | Жесткий | [DFS, Жадность, Математика] | Ява | 183 | ||
Н/Д | Уникальное сокращение слова.java | Середина | [Дизайн, хеш-таблица] | Ява | 184 | ||
Н/Д | Лучшее время для покупки и продажи акций IV.java | Жесткий | [ДП, Последовательность ДП] | Ява | 185 | ||
Н/Д | Найти минимум в повернутом отсортированном массиве II.java | Жесткий | [Массив, двоичный поиск] | Ява | 186 | ||
Н/Д | Самые длинные допустимые скобки.java | Жесткий | [Координата DP, Стек, Строка] | Ява | 187 | ||
Н/Д | Уродливый номер II.java | Середина | [DP, перечисление, куча, математика, приоритетная очередь] | На) | На) | Ява | 188 |
Н/Д | Добавить два числа II.java | Середина | [Связанный список] | Ява | 189 | ||
Н/Д | Максимальный средний подмассив II.java | Обзор | [Массив, двоичный поиск, предварительная сумма] | Ява | 190 | ||
Н/Д | Дерево выражений Build.java | Жесткий | [Двоичное дерево, дерево выражений, минимальное двоичное дерево, стек] | Ява | 191 | ||
Н/Д | Объединить два двоичных дерева.java | Легкий | [ДФС,Дерево] | Ява | 192 | ||
Н/Д | Копировать Books.java | Жесткий | [Двоичный поиск, DP, DP раздела] | Ява | 193 | ||
Н/Д | Сила трех.java | Легкий | [Математика] | Ява | 194 | ||
Н/Д | SortColorsII.java | Середина | [Разделение, быстрая сортировка, сортировка, два указателя] | Ява | 195 | ||
Н/Д | Максимальный подмассив III.java | Обзор | [] | Ява | 196 | ||
Н/Д | PathSumII.java | Легкий | [Возврат, DFS, Дерево] | Ява | 197 | ||
Н/Д | Запрос дерева сегментов II.java | Середина | [Двоичное дерево, DFS, разделяй и властвуй, Lint, дерево сегментов] | Ява | 198 | ||
Н/Д | Кратчайшее расстояние от всех зданий.java | Жесткий | [БФС] | Ява | 199 | ||
Н/Д | Кирпичная стена.java | Середина | [Хеш-таблица] | О(мин) | O(X), X = максимальная ширина стены | Ява | 200 |
Н/Д | Самый длинный растущий путь в Matrix.java | Жесткий | [Координатный DP, DFS, DP, мемоизация, топологическая сортировка] | Ява | 201 | ||
Н/Д | Чередование String.java | Жесткий | [ДП, Строка] | Ява | 202 | ||
Н/Д | Перемешать Array.java | Середина | [Перестановка] | Ява | 203 | ||
Н/Д | Восстановить дерево двоичного поиска.java | Жесткий | [BST, DFS, Дерево] | Ява | 204 | ||
Н/Д | МойКалендарьI.java | Середина | [Массив, Древовидная карта] | Ява | 205 | ||
Н/Д | Оценка обратной польской нотации.java | Середина | [Куча] | На) | На) | Ява | 206 |
Н/Д | Подсчет битов.java | Середина | [Битовая манипуляция, побитовое DP, DP] | Ява | 207 | ||
Н/Д | Сортировка писем по регистру.java | Середина | [Разделение, Сортировка, Строка, Два указателя] | Ява | 208 | ||
Н/Д | Две строки — это Anagrams.java | Легкий | [] | Ява | 209 | ||
Н/Д | Две суммы II – входной массив отсортирован.java | Середина | [Массив, двоичный поиск, два указателя] | Ява | 210 | ||
Н/Д | [HackerRank]. Перейдите на Anagram.java. | Легкий | [Нить] | Ява | 211 | ||
Н/Д | Реализуйте очередь с помощью Stacks.java | Легкий | [Дизайн, Стек] | Ява | 212 | ||
Н/Д | Базовый калькулятор.java | Жесткий | [Двоичное дерево, Дерево выражений, Математика, Минимальное двоичное дерево, Стек] | Ява | 213 | ||
Н/Д | Слово Squares.java | Жесткий | [Возврат, Трие] | Ява | 214 | ||
Н/Д | Список сортировки вставками.java | Середина | [Связанный список, сортировка] | Ява | 215 | ||
Н/Д | ИнтервалСумм.java | Середина | [Двоичный поиск, Lint, Дерево сегментов] | Ява | 216 | ||
Н/Д | Стробограмматическое число II.java | Середина | [DFS, перечисление, математика, последовательность DFS] | Ява | 217 | ||
Н/Д | Лабиринт II.java | Середина | [БФС, ДФС, PriorityQueue] | Ява | 218 | ||
Н/Д | kSum.java | Жесткий | [ДП] | Ява | 219 | ||
Н/Д | Монеты в строке III.java | Жесткий | [Массив, ДП, Теория игр, Интервальный ДП, Мемоизация] | Ява | 220 | ||
Н/Д | Преобразование отсортированного списка в дерево двоичного поиска.java | Середина | [BST, DFS, Разделяй и Властвуй, Связанный список] | Ява | 221 | ||
Н/Д | Угадай число выше или ниже.java | Легкий | [Двоичный поиск] | Ява | 222 | ||
Н/Д | Улавливание дождевой воды II.java | Жесткий | [BFS, Heap, MinHeap, PriorityQueue] | Ява | 223 | ||
Н/Д | Кирпичи падают при ударе.java | Жесткий | [Найти Союз] | Ява | 224 | ||
Н/Д | Сумма подмассива Closest.java | Середина | [PreSum, PriorityQueue, Сортировка, Подмассив] | О(нлогн) | На) | Ява | 225 |
Н/Д | Взрывные шары.java | Жесткий | [ДП, Разделяй и Властвуй, Интервальное ДП, Мемоизация] | Ява | 226 | ||
Н/Д | Массив разделов от Odd и Even.java | Легкий | [Массив, два указателя] | Ява | 227 | ||
Н/Д | Лучшее время для покупки и продажи акций с помощью Cooldown.java | Середина | [ДП] | Ява | 228 | ||
Н/Д | Разделение палиндрома II.java | Жесткий | [ДП, ДП раздела] | Ява | 229 | ||
Н/Д | Преобразование двоичного дерева поиска в отсортированный двусвязный список (дополнительное пространство).java | Середина | [Связанный список, Стек, Дерево] | На) | На) | Ява | 230 |
Н/Д | K-й самый большой элемент в массиве Array.java | Середина | [Разделяй и властвуй, куча, минимальная куча, приоритетная очередь, быстрая сортировка] | Ява | 231 | ||
Н/Д | Раздвижная головоломка.java | Жесткий | [БФС, График] | Ява | 232 | ||
Н/Д | Интервальная сумма II.java | Жесткий | [Двоичный поиск, Lint, Дерево сегментов] | Ява | 233 | ||
Н/Д | Добавить цифры.java | Легкий | [Математика] | Ява | 234 | ||
Н/Д | HashWithCustomizedClass(LinkedList).java | Середина | [Хеш-таблица] | Ява | 235 | ||
Н/Д | Максимальное количество дней отпуска.java | Жесткий | [ДП] | Ява | 236 | ||
Н/Д | Наименьшее поддерево со всеми самыми глубокими узлами.java | Середина | [DFS, Разделяй и властвуй, Дерево] | На) | На) | Ява | 237 |
Н/Д | K-й наименьший элемент в отсортированной матрице.java | Середина | [Двоичный поиск, куча] | О (п + клогн) | На) | Ява | 238 |
Н/Д | Сумма комбинации III.java | Середина | [Массив, возврат, комбинация, DFS] | Ява | 239 | ||
Н/Д | Последняя позиция Target.java | Легкий | [Двоичный поиск] | Ява | 240 | ||
Н/Д | Сумма пути III.java | Легкий | [DFS, двойная рекурсия, дерево] | Ява | 241 | ||
Н/Д | Преобразование выражения в обратную польскую нотацию.java | Жесткий | [Двоичное дерево, DFS, дерево выражений, стек] | Ява | 242 | ||
Н/Д | Полное двоичное дерево.java | Легкий | [БФС, Дерево] | Ява | 243 | ||
Н/Д | Лучшее время для покупки и продажи акций с комиссией за транзакцию.java | Середина | [Массив, DP, Жадный, Последовательность DP, Статус DP] | На) | O(n), O(1) подвижный массив | Ява | 244 |
Н/Д | Pow(x, n).java | Середина | [Двоичный поиск, математика] | Ява | 245 | ||
Н/Д | Максимальный подмассив II.java | Середина | [Массив, DP, Жадный, PreSum, DP последовательности, Подмассив] | Ява | 246 | ||
Н/Д | Сортировать цвета.java | Середина | [Массив, Раздел, Быстрая сортировка, Сортировка, Два указателя] | Ява | 247 | ||
Н/Д | Словесная лестница II.java | Жесткий | [Массив, BFS, возврат, DFS, хеш-таблица, строка] | Ява | 248 | ||
Н/Д | Сумма двух целых чисел.java | Легкий | [Битовые манипуляции] | Ява | 249 | ||
Н/Д | Предсказать победителя.java | Середина | [ДП, МиниМакс] | Ява | 250 | ||
Н/Д | Подключение графа II.java | Середина | [Найти Союз] | Ява | 251 | ||
Н/Д | Поиск вставки позиции.java | Легкий | [] | Ява | 252 | ||
Н/Д | Самый длинный однозначный путь.java | Легкий | [] | Ява | 253 | ||
Н/Д | СодержитDuplateIII.java | Середина | [ПСТ] | Ява | 254 | ||
Н/Д | Спиральная матрица.java | Середина | [Массив, Перечисление] | Ява | 255 | ||
Н/Д | Следующее ближайшее время.java | Середина | [Базовая реализация, перечисление, строка] | Ява | 256 | ||
Н/Д | Группа смещенных строк.java | Середина | [Хеш-таблица, строка] | Ява | 257 | ||
Н/Д | Лабиринт III.java | Жесткий | [БФС, ДФС, PriorityQueue] | Ява | 258 | ||
Н/Д | Монеты в строке.java | Середина | [ДП, Теория игр, Жадность] | Ява | 259 | ||
Н/Д | Самая длинная последовательная последовательность двоичного дерева.java | Середина | [DFS, Разделяй и властвуй, Дерево] | Ява | 260 | ||
Н/Д | Спиральная матрица II.java | Середина | [Множество] | Ява | 261 | ||
Н/Д | Обрезать дерево двоичного поиска.java | Легкий | [BST,Дерево] | Ява | 262 | ||
Н/Д | Количество угловых прямоугольников.java | Середина | [ДП, Математика] | Ява | 263 | ||
Н/Д | Реконструкция очереди с помощью Height.java | Середина | [Жадный] | Ява | 264 | ||
Н/Д | Минимальные свопы для увеличения последовательностей.java | Середина | [ДП координат, ДП, ДП статуса] | Ява | 265 | ||
Н/Д | Чередование положительных и отрицательных чисел.java | Середина | [Два указателя] | Ява | 266 | ||
Н/Д | Сумма пути IV.java | Середина | [DFS, хеш-таблица, дерево] | Ява | 267 | ||
Н/Д | Номер столбца листа Excel.java | Легкий | [Математика] | Ява | 268 | ||
Н/Д | TargetSum.java | Середина | [ДФС, ДП] | Ява | 269 | ||
Н/Д | PartitionArray.java | Середина | [Массив, Быстрая сортировка, Сортировка, Два указателя] | Ява | 270 | ||
Н/Д | Автобусные маршруты.java | Жесткий | [БФС] | Ява | 271 | ||
Н/Д | Максимальная сумма прямоугольника не больше K.java | Жесткий | [Массив, BST, Двоичный поиск, DP, Очередь, TreeSet] | Ява | 272 | ||
Н/Д | StringPermutation.java | Легкий | [] | Ява | 273 | ||
Н/Д | Максимальное исключающее ИЛИ двух чисел в массиве Array.java | Середина | [Битовые манипуляции, Trie] | Ява | 274 | ||
Н/Д | Найдите Range.java | Середина | [Массив, двоичный поиск] | Ява | 275 | ||
Н/Д | Перестановка палиндрома II.java | Середина | [Возврат, Перестановка] | Ява | 276 | ||
Н/Д | Заполнение следующих правых указателей в каждом узле II.java | Середина | [ДФС,Дерево] | На) | О(1) | Ява | 277 |
Н/Д | Ним Game.java | Легкий | [Загадка, ДП, Теория игр] | Ява | 278 | ||
Н/Д | Поиск в 2D Matrix.java | Середина | [Массив, двоичный поиск] | Ява | 279 | ||
Н/Д | Самый большой прямоугольник в Histogram.java | Жесткий | [Массив, Монотонный стек, Стек] | Ява | 280 | ||
[пух] | [lint]. Объединение сортированных массивов.java. | Середина | [Куча, MinHeap, PriorityQueue] | О(нлогк) | Хорошо) | Ява | 281 |
[пух] | [lint]. Сборка дерева сегментов II.java. | Середина | [Двоичное дерево, разделяй и властвуй, ворс, дерево сегментов] | Ява | 282 | ||
[пух] | [lint]. От N-го до последнего узла в List.java. | Легкий | [Связанный список, Линт] | Ява | 283 | ||
[пух] | [lint]. Продукт массива Exclude Self.java. | Середина | [Массив, Линт] | Ява | 284 | ||
[пух] | [lint].Сравнить Strings.java | Легкий | [Ворс, Нить] | Ява | 285 | ||
[пух] | [lint] Дерево сегментов Query.java. | Середина | [Двоичное дерево, DFS, разделяй и властвуй, Lint, дерево сегментов] | Ява | 286 | ||
[пух] | [lint].HashHeap.java | Жесткий | [HashHeap, Куча, Линт] | Ява | 287 | ||
[пух] | [линт].Самые длинные слова.java | Легкий | [Хеш-таблица, Lint, Строка] | Ява | 288 | ||
[пух] | [lint].Anagrams.java | Середина | [Массив, хеш-таблица, Lint] | На) | На) | Ява | 289 |
[пух] | [lint].3 Сумма Ближайший.java | Середина | [Массив, Линт, Два указателя] | Ява | 290 | ||
[пух] | [lint].Уникальные символы.java | Легкий | [Массив, Линт, Строка] | Ява | 291 | ||
[пух] | [lint]. Низший общий предок II.java. | Легкий | [Хеш-таблица, Линт, Дерево] | Ява | 292 | ||
[пух] | [lint].Heapify.java | Середина | [HashHeap, Heap, Lint, MinHeap] | Ява | 293 | ||
[пух] | [линт]. | Легкий | [Массив, Хэш-таблица, Lint, PreSum, Подмассив] | На) | На) | Ява | 294 |
[пух] | [lint]. Восстановить ротированный отсортированный массив.java. | Легкий | [Массив, Линт] | Ява | 295 | ||
[пух] | [линт]. 2 Сумма II.java | Середина | [Массив, двоичный поиск, ворс, два указателя] | Ява | 296 | ||
[пух] | [lint].Дерево сегментов Build.java. | Середина | [Двоичное дерево, разделяй и властвуй, ворс, дерево сегментов] | Ява | 297 | ||
[инструмент] | [инструмент].MergeSort.java | Середина | [Ворс, сортировка слиянием, сортировка] | О(млогн) | На) | Ява | 298 |
[инструмент] | [инструмент].Хеш-функция.java | Легкий | [Хеш-таблица, Lint] | О(1)получить | Карта магазина O(n) | Ява | 299 |
[инструмент] | [инструмент].UnionFind.java | Середина | [Линт, Находка Союза] | O(n), со сжатием пути O(mN), с объединением по рангу O(logN) | На) | Ява | 300 |
[инструмент] | [инструмент].Топологическая сортировка.java | Середина | [BFS, DFS, Lint, топологическая сортировка] | О (В + Е) | О (В + Е) | Ява | 301 |
36 | 36. Действительный судоку.java | Легкий | [Перечисление, Хэш-таблица] | (мин) | (мин) | Ява | 302 |
359 | 359. Ограничитель скорости регистратора.java | Легкий | [Дизайн, хеш-таблица] | О(1) | На) | Ява | 303 |
198 | 198. Домовой грабитель.java | Легкий | [ДП, ДП последовательности, ДП состояния] | На) | O(n) или подвижный массив O(1) | Ява | 304 |
двадцать один | 21. Объединить два отсортированных списка.java | Легкий | [Связанный список] | На) | О(1) | Ява | 305 |
102 | 102. Порядок обхода уровня двоичного дерева.java | Середина | [БФС, ДФС, Дерево] | На) | На) | Ява | 306 |
788 | 788. Повернутые цифры.java | Легкий | [Базовая реализация, строка] | На) | На) | Ява | 307 |
42 | 42. Улавливание дождевой воды.java | Жесткий | [Массив, Стек, Два указателя] | На) | О(1) | Ява | 308 |
347 | 347. Top K Часто встречающиеся элементы.java | Середина | [Хеш-таблица, куча, MaxHeap, MinHeap, PriorityQueue] | На) | На) | Ява | 309 |
269 | 269. Чужой словарь.java | Жесткий | [BFS, возврат, DFS, график, топологическая сортировка] | O(n), n = # ребер графа | На) | Ява | 310 |
237 | 237. Удалить узел в связанном списке.java | Легкий | [Связанный список] | Ява | 311 | ||
142 | 142. Цикл связанных списков II.java | Середина | [Обнаружение цикла, Связанный список, Медленный быстрый указатель, Два указателя] | На) | О(1) | Ява | 312 |
448 | 448. Найти все исчезнувшие числа в массиве.java. | Легкий | [Массив, сегментная сортировка] | На) | О(1) | Ява | 313 |
360 | 360. Сортировка преобразованного массива.java | Середина | [Математика, два указателя] | На) | O(n) сохранить результат | Ява | 314 |
двадцать два | 22. Создать круглые скобки.java | Середина | [Возврат, DFS, Последовательность DFS, Строка] | О (2 ^ п) | О (2 ^ п) | Ява | 315 |
849 | 849. Максимизировать расстояние до ближайшего человека.java | Легкий | [Массив, базовая реализация, два указателя] | На) | О(1) | Ява | 316 |
408 | 408. Допустимое сокращение слова.java | Легкий | [Базовая реализация, строка] | Ява | 317 | ||
415 | 415. Добавить Strings.java | Легкий | [Базовая реализация, математика, строка] | На) | На) | Ява | 318 |
83 | 83. Удалить дубликаты из отсортированного списка.java | Легкий | [Связанный список] | Ява | 319 | ||
1108 | 1108. Очистка IP-адреса.java | Легкий | [Базовая реализация, строка] | Ява | 320 | ||
1021 | 1021. Удалить внешние скобки.java | Легкий | [Куча] | Ява | 321 | ||
236 | 236. Самый низкий общий предок двоичного дерева.java | Середина | [ДФС,Дерево] | На) | На) | Ява | 322 |
766 | 766.ToeplitzMatrix.java | Легкий | [Множество] | О(мин) | О(1) | Ява | 323 |
953 | 953. Проверка чужого словаря.java | Легкий | [Хеш-таблица] | О (нм) | О(1) | Ява | 324 |
1053 | 1053. Предыдущая перестановка с одним свопом.java | Середина | [Массив, Жадный, Перестановка] | На) | О(1) | Ява | 325 |
1213 | 1213. Пересечение трех отсортированных массивов.java | Легкий | [Хеш-таблица, два указателя] | O(m + n + h) подход с двумя указателями | О(1) | Ява | 326 |
383 | 383. Записка о выкупе.java | Легкий | [Базовая реализация, строка] | Ява | 327 | ||
56 | 56. Объединить интервалы.java | Середина | [Массив, PriorityQueue, Сортировка, Очистка линии] | О(нлогн) | На) | Ява | 328 |
252 | 252. Конференц-залы.java | Легкий | [PriorityQueue, сортировка, очистка линии] | О(нлогн) | О(1) | Ява | 329 |
665 | 665. Неубывающий Array.java. | Легкий | [Множество] | На) | О(1) | Ява | 330 |
843 | 843. Угадай Слово.java | Жесткий | [МиниМакс] | TODO | TODO | Ява | 331 |
986 | 986. Список интервалов Intersections.java | Середина | [Два указателя] | На) | О(1) | Ява | 332 |
76 | 76. Минимальная подстрока окна.java | Жесткий | [Хеш-таблица, скользящее окно, строка, два указателя] | На) | О(1) | Ява | 333 |
293 | 293. Перевернуть Game.java | Легкий | [Нить] | Ява | 334 | ||
244 | 244. Кратчайшее расстояние между словами II.java | Середина | [Массив, Дизайн, Хэш-таблица, Два указателя] | O(n) для построения карты, O(a + b) для запроса | На) | Ява | 335 |
686 | 686. Повторное совпадение строк.java | Легкий | [Базовая реализация, крайний случай, строка] | Ява | 336 | ||
80 | 80.Удалить дубликаты из отсортированного массива II.java | Середина | [Массив, два указателя] | Ява | 337 | ||
301 | 301. Удалить неверные круглые скобки.java | Жесткий | [БФС, ДФС, ДП] | Ява | 338 | ||
111 | 111. Минимальная глубина двоичного дерева.java | Легкий | [БФС, ДФС, Дерево] | На) | На) | Ява | 339 |
1216 | 1216. Действительный палиндром III.java | Жесткий | [DFS, DP, мемоизация, строка] | О(п^2) | О(п^2) | Ява | 340 |
7 | 7. ОбратныйИнтегер.java | Легкий | [Математика] | На) | О(1) | Ява | 341 |
5 | 5. Самая длинная палиндромная подстрока.java | Середина | [ДП, Строка] | О(п^2) | О(п^2) | Ява | 342 |
303 | 303. Запрос суммы диапазона — Immutable.java | Легкий | [ДП, предварительная сумма] | Запрос O(1), настройка O(n) | На) | Ява | 343 |
674 | 674. Самая длинная непрерывная возрастающая подпоследовательность.java | Легкий | [Массив, ДП координат, ДП, скользящее окно] | На) | О(1) | Ява | 344 |
1007 | 1007. Минимальные повороты домино для равного ряда.java | Середина | [Массив, Жадный] | На) | О(1) | Ява | 345 |
485 | 485. Макс последовательных.java | Легкий | [Массив, базовая реализация] | На) | О(1) | Ява | 346 |
896 | 896. MonotonicArray.java | Легкий | [Множество] | Ява | 347 | ||
207 | 207. Расписание курсов.java | Середина | [BFS, возврат, DFS, график, топологическая сортировка] | На) | На) | Ява | 348 |
327 | 327. Подсчет диапазона Sum.java | Жесткий | [BIT, разделяй и властвуй, сортировка слиянием, предварительное суммирование, дерево сегментов] | О(нлогн) | На) | Ява | 349 |
987 | 987. Обход двоичного дерева по вертикали.java | Середина | [BFS, двоичное дерево, DFS, хеш-таблица, дерево] | Ява | 350 | ||
26 | 26.Удалить дубликаты из отсортированного массива.java | Легкий | [Массив, два указателя] | Ява | 351 | ||
429 | 429. N-арный порядок обхода уровня дерева.java | Середина | [БФС, Дерево] | На) | На) | Ява | 352 |
275 | 275.H-IndexII.java | Середина | [Двоичный поиск] | О (логН) | О(1) дополнительно | Ява | 353 |
204 | 204. Граф Primes.java | Легкий | [Хеш-таблица, математика] | Ява | 354 | ||
58 | 58. Длина последнего слова.java | Легкий | [Нить] | Ява | 355 | ||
496 | 496. Следующий больший элемент I.java | Легкий | [Хеш-таблица, стек] | На) | На) | Ява | 356 |
41 | 41. Первый пропавший Positive.java | Жесткий | [Анализ, Массив, Крайний случай] | На) | О(1) | Ява | 357 |
694 | 694. Количество отдельных островов.java | Середина | [DFS, хэш-таблица] | На) | На) | Ява | 358 |
717 | 717. 1-битные и 2-битные символы.java | Легкий | [Множество] | Ява | 359 | ||
53 | 53. Максимальный Subarray.java | Легкий | [Массив, DFS, DP, разделяй и властвуй, предварительная сумма, последовательность DP, подмассив] | На) | O(n), O(1) подвижный массив | Ява | 360 |
152 | 152. Максимальный продукт Subarray.java | Середина | [Массив, DP, Предварительный продукт, Подмассив] | На) | О(1) | Ява | 361 |
199 | 199. Вид справа на двоичное дерево.java | Середина | [БФС, ДФС, Дерево] | На) | На) | Ява | 362 |
259 | 259. 3SumSmaller.java | Середина | [Массив, Сортировка, Два указателя] | Ява | 363 | ||
977 | 977. Квадраты отсортированного массива.java | Легкий | [Массив, два указателя] | На) | На) | Ява | 364 |
824 | 824. Коза Latin.java | Легкий | [Базовая реализация, строка] | На) | О(1) | Ява | 365 |
308 | 308. Запрос суммы диапазона 2D — Mutable.java | Жесткий | [Двоичное индексированное дерево, дерево сегментов] | построить (n), обновить (logn), rangeRuery (logn + k) | На) | Ява | 366 |
1203 | 1203. Сортировка элементов по группам с учетом зависимостей.java | Жесткий | [BFS, DFS, граф, топологическая сортировка] | O(V + E) для обхода графа, #nodes + #edges | О (В + Е) | Ява | 367 |
1153 | 1153. Строка преобразуется в другую строку.java | Жесткий | [График] | На) | На) | Ява | 368 |
1008 | 1008. Построение двоичного дерева поиска из Preorder Traversal.java | Середина | [ДФС,Дерево] | На) | На) | Ява | 369 |
151 | 151. Перестановка слов в строке.java | Середина | [Нить] | На) | Ява | 370 | |
855 | 855. Экзаменационная Комната.java | Середина | [PriorityQueue, Sort, TreeMap, TreeSet] | О(вход) | На) | Ява | 371 |
31 | 31. СледующаяПермутация.java | Середина | [Массив, Перестановка] | На) | О(1) | Ява | 372 |
518 | 518. Размен монет 2.java | Середина | [Рюкзак ДП, ДП] | На) | На) | Ява | 373 |
405 | 405. Преобразование числа в шестнадцатеричное.java | Легкий | [Битовые манипуляции] | Ява | 374 | ||
850 | 850. Площадь прямоугольника II.java | Жесткий | [Дерево сегментов, линия развертки] | О(п^2) | На) | Ява | 375 |
515 | 515. Найти наибольшее значение в каждой строке дерева.java | Середина | [БФС, ДФС, Дерево] | На) | На) | Ява | 376 |
253 | 253. Конференц-залы II.java | Середина | [Жадный, Куча, PriorityQueue, Сортировка, Очистка линии] | О(нлогн) | На) | Ява | 377 |
1161 | 1161. Максимальный уровень суммы двоичного дерева.java | Середина | [BFS, DFS, график] | O(n) посетить все узлы | На) | Ява | 378 |
509 | 509. Число Фибоначчи.java | Легкий | [ДП, математика, мемоизация] | Ява | 379 | ||
221 | 221. Максимальная площадь.java | Середина | [Координата ДП, ДП] | О(мин) | О(мин) | Ява | 380 |
131 | 131. Палиндром Partitioning.java | Середина | [Возврат, DFS] | О (2 ^ п) | О(п^2) | Ява | 381 |
136 | 136. Одиночный номер.java | Легкий | [Битовые манипуляции, хэш-таблица] | Ява | 382 | ||
222 | 222. Подсчет полных узлов дерева.java | Середина | [Двоичный поиск, DFS, Дерево] | На) | Ой) | Ява | 383 |
257 | 257. Пути двоичного дерева.java | Легкий | [Возврат, двоичное дерево, DFS] | На) | О(нлогн) | Ява | 384 |
543 | 543. Диаметр двоичного дерева.java | Легкий | [Дерево] | O(n) в несбалансированном состоянии | O(n) в несбалансированном состоянии | Ява | 385 |
398 | 398. Индекс случайного выбора.java | Середина | [Отбор проб из резервуара] | На) | O(n) для ввода int[], O(1) используется дополнительное пространство | Ява | 386 |
238 | 238. Произведение массива, кроме Self.java | Середина | [Массив, Предварительный продукт] | На) | О(1) | Ява | 387 |
1060 | 1060. Отсутствует элемент в отсортированном массиве.java | Середина | [Двоичный поиск] | О(вход) | О(1) | Ява | 388 |
1048 | 1048. Самая длинная цепочка строк.java | Середина | [Сортировка сегментов, DP, хеш-таблица, сортировка] | На) | На) | Ява | 389 |
67 | 67. Добавьте Binary.java | Легкий | [Математика, строка, два указателя] | Ява | 390 | ||
299 | 299. Быки и коровы.java | Середина | [Хеш-таблица] | На) | На) | Ява | 391 |
557 | 557. Перестановка слов в строке III.java | Легкий | [Нить] | Ява | 392 | ||
203 | 203. Удалить связанный список Elements.java | Легкий | [Связанный список] | Ява | 393 | ||
1219 | 1219. Путь с максимальным количеством золота.java | Середина | [Возврат, DFS] | О(п^2) | O(n) рекурсивная глубина | Ява | 394 |
266 | 266. ПалиндромПермутация.java | Легкий | [Хеш-таблица] | На) | На) | Ява | 395 |
62 | 62. УникальныйПат.java | Середина | [Массив, координата DP, DP] | О(мин) | O(mn), подвижный массив O(n) | Ява | 396 |
1091 | 1091. Кратчайший путь в двоичной матрице.java | Середина | [БФС] | О(п^2) | Ява | 397 | |
1110 | 1110. Удалить узлы и вернуть Forest.java | Середина | [DFS, Разделяй и властвуй, Дерево] | На) | О(вход) | Ява | 398 |
1249 | 1249. Минимальное удаление, чтобы сделать круглые скобки действительными.java | Середина | [Стек, Строка] | На) | На) | Ява | 399 |
15 | 15. 3Sum.java | Середина | [Массив, Сортировка, Два указателя] | О(п^2) | Ява | 400 | |
311 | 311. Умножение разреженной матрицы.java | Середина | [Хеш-таблица] | O(mnk), где m = A.row , n = B.col , k = A.col = B.row | О(1) дополнительно | Ява | 401 |
339 | 339. Вес вложенного списка Sum.java | Легкий | [БФС, ДФС, ВложенныйИнтегер] | На) | O(h), h = уровни | Ява | 402 |
322 | 322.CoinChange.java | Середина | [Рюкзак DP, DFS, DP, Мемоизация] | О(н*С) | О(С) | Ява | 403 |
55 | 55. Прыжок Game.java | Середина | [Массив, ДП, Жадный] | На) | О(1) | Ява | 404 |
173 | 173. Дерево двоичного поиска Iterator.java | Середина | [BST, Дизайн, Стек, Дерево] | O(1)среднее | Ой) | Ява | 405 |
140 | 140. Разрыв слов II.java | Жесткий | [Возврат, DFS, DP, хеш-таблица, мемоизация] | На!) | На!) | Ява | 406 |
51 | 51.N-Queens.java | Жесткий | [возврат] | На!) | О(п^2) | Ява | 407 |
875 | 875. Коко ест бананы.java | Середина | [Двоичный поиск] | О(п*логМ) | О(1) | Ява | 408 |
189 | 189.RotateArray.java | Легкий | [Массив, Вращение] | Ява | 409 | ||
19 | 19. Удалить N-й узел из конца List.java | Середина | [Связанный список, два указателя] | На) | О(1) | Ява | 410 |
134 | 134. Заправка.java | Середина | [Жадный] | На) | О(1) | Ява | 411 |
119 | 119. Треугольник Паскаля II.java | Легкий | [Массив, базовая реализация] | O(k^2), размер треугольника Паскаля | О (к ^ 2) | Ява | 412 |
1197 | 1197. Минимальные ходы коня.java | Середина | [БФС] | О(8^n) | О(8^n) | Ява | 413 |
493 | 493. Обратные пары.java | Середина | [BST, двоичное индексированное дерево, разделяй и властвуй, сортировка слиянием, дерево сегментов] | Ява | 414 | ||
1306 | 1306. Игра в прыжки III.java | Середина | [БФС, График] | На) | На) | Ява | 415 |
305 | 305. Количество островов II.java | Жесткий | [Найти Союз] | О(к * журнал(мп)) | О(мин) | Ява | 416 |
206 | 206. Обратный связанный список.java | Легкий | [Связанный список] | Ява | 417 | ||
277 | 277. Найдите знаменитость.java | Середина | [Матрица смежности, массив, график, жадный, обрезка] | На) | О(1) | Ява | 418 |
741 | 741. Вишневый Пикап.java | Жесткий | [ДФС, ДП] | О(п^3) | O(n^3), размер заметки | Ява | 419 |
168 | 168. Столбец листа Excel Title.java | Легкий | [Математика] | На) | О(1) | Ява | 420 |
104 | 104. Максимальная глубина двоичного дерева.java | Легкий | [ДФС,Дерево] | Ява | 421 | ||
349 | 349. Пересечение двух массивов.java | Легкий | [Двоичный поиск, хеш-таблица, сортировка, два указателя] | О (м + п) | О (м + п) | Ява | 422 |
443 | 443. Сжатие строк.java | Легкий | [Базовая реализация, строка] | Ява | 423 | ||
297 | 297. Сериализация и десериализация двоичного дерева.java. | Жесткий | [BFS, DFS, Deque, Design, Разделяй и Властвуй, Дерево] | На) | На) | Ява | 424 |
46 | 46.Перестановки.java | Середина | [BFS, возврат, DFS, перестановка] | На!) | На!) | Ява | 425 |
844 | 844. Backspace String Compare.java | Легкий | [Стек, два указателя] | На) | О(1) | Ява | 426 |
9 | 9. Номер палиндрома.java | Легкий | [Математика] | Ява | 427 | ||
1094 | 1094. Объединение автомобилей.java | Середина | [Жадный, Куча, Приоритетная очередь, Сортировка] | На) | O(1) использовать только размер сегмента 1000 | Ява | 428 |
245 | 245. Кратчайшее расстояние между словами III.java | Середина | [Массив, Дизайн, Хэш-таблица, Два указателя] | На) | О(1) | Ява | 429 |
1117 | 1117. Сборка H2O.java | Середина | [Блокировка, Семафор, Нить] | Ява | 430 | ||
973 | 973. K ближайших точек к Origin.java | Середина | [Разделяй и властвуй, куча, сортировка] | О (клогк) | Хорошо) | Ява | 431 |
771 | 771. Драгоценности и камни.java | Легкий | [Хеш-таблица] | На) | На) | Ява | 432 |
200 | 200. Количество островов.java | Середина | [BFS, DFS, Matrix DFS, поиск объединения] | На) | На) | Ява | 433 |
141 | 141. Связанный список Cycle.java | Легкий | [Обнаружение цикла, Связанный список, Медленный быстрый указатель, Два указателя] | На) | О(1) | Ява | 434 |
567 | 567.Перестановка в String.java | Середина | [Скользящее окно, два указателя] | О (м + п) | О(1) | Ява | 435 |
727 | 727. Минимальная последовательность окон.java | Жесткий | [DP, хеш-таблица, скользящее окно, строка, два указателя] | О(п^2) | О(1) | Ява | 436 |
158 | 158. Чтение N символов с учетом Read4 II — вызов несколько раз.java | Жесткий | [Перечисление, Строка] | На) | На) | Ява | 437 |
369 | 369. Плюс один связанный список.java | Середина | [Связанный список] | На) | О(1) | Ява | 438 |
211 | 211. Добавление и поиск слова — Структура данных design.java | Середина | [Откат, Дизайн, Проба] | O(n) для поиска и добавления слова | < O(mn), зависит от ввода m = количества слов. | Ява | 439 |
43 | 43. Умножение Strings.java | Середина | [Математика, Строка] | О(мин) | О(мин) | Ява | 440 |
621 | 621. Планировщик задач.java | Середина | [Массив, Перечисление, Жадный, PriorityQueue, Очередь] | На) | О(1) | Ява | 441 |
680 | 680. Действительный палиндром II.java | Легкий | [Нить] | Ява | 442 | ||
295 | 295. Найти медиану из Data Stream.java. | Жесткий | [Дизайн, Куча, МаксHeap, MinHeap] | O(1) получить, O(logn) addNum | На) | Ява | 443 |
70 | 70. Подъем по лестнице.java | Легкий | [DP, Мемоизация, Последовательность DP] | Ява | 444 | ||
747 | 747. Наибольшее число, по крайней мере вдвое превышающее другие.java | Легкий | [Множество] | Ява | 445 | ||
315 | 315. Подсчет меньших чисел после Self.java | Жесткий | [BST, двоичное индексированное дерево, двоичный поиск, разделяй и властвуй, дерево сегментов] | О(нлогн) | На) | Ява | 446 |
239 | 239. Раздвижное окно Maximum.java | Жесткий | [Дек, Куча, Скользящее окно] | На) | На) | Ява | 447 |
47 | 47.ПерестановкиII.java | Середина | [Возврат, DFS] | Ява | 448 | ||
332 | 332. Реконструировать Itinerary.java | Середина | [Возврат, DFS, График] | О(п^п) | О(м) | Ява | 449 |
88 | 88. Поиск в отсортированном массиве II.java | Середина | [Массив, двоичный поиск] | O(log), худшее O(n) | О(1) | Ява | 450 |
561 | 561. Раздел массива I.java | Легкий | [Множество] | О(нлогн) | О(1) | Ява | 451 |
387 | 387. Первый уникальный символ в строке.java | Легкий | [Хеш-таблица, строка] | На) | О (256) = О (1) | Ява | 452 |
345 | 345. Обратные гласные строки.java | Легкий | [Строка, два указателя] | Ява | 453 | ||
39 | 39. Комбинация Sum.java | Середина | [Массив, возврат, комбинация, DFS] | O(k * 2^n), k = средняя первая длина | O(k) глубина стека, если не считать размер результата | Ява | 454 |
10 | 10. Сопоставление регулярных выражений.java | Жесткий | [Возврат, DP, DP двойной последовательности, DP последовательности, строка] | Ява | 455 | ||
367 | 367. Действительный Perfect Square.java | Легкий | [Двоичный поиск, математика] | О (логН) | О(1) | Ява | 456 |
270 | 270. Ближайшее двоичное дерево поиска Value.java | Легкий | [BST, двоичный поиск, дерево] | О(вход) | О(1) | Ява | 457 |
28 | 28. Реализуйте strStr().java. | Легкий | [Строка, два указателя] | Ява | 458 | ||
1106 | 1106. Анализ логического выражения.java | Жесткий | [DFS, стек, строка] | Ява | 459 | ||
144 | 144. Предварительный порядок двоичного дерева Traversal.java | Середина | [BFS, DFS, стек, дерево] | На) | На) | Ява | 460 |
852 | 852. Индекс пика в горном массиве.java | Легкий | [Двоичный поиск] | О(вход) | О(1) | Ява | 461 |
146 | 146. LRU Кэш.java | Середина | [Дизайн, двусвязный список, хеш-таблица, связанный список] | О(1) | О(1) | Ява | 462 |
110 | 110. Сбалансированное двоичное дерево.java | Легкий | [ДФС,Дерево] | Ява | 463 | ||
1040 | 1040. Перемещение камней до последовательного II.java | Середина | [Массив, скользящее окно] | О(нлогн) | На) | Ява | 464 |
246 | 246. Стробограмматическое Число.java | Легкий | [Перечисление, Хэш-таблица, Математика, Два указателя] | На) | О(1) | Ява | 465 |
100 | 100. То же дерево.java | Легкий | [БФС, ДФС, Дерево] | На) | О(вход) | Ява | 466 |
307 | 307. Запрос суммы диапазона — Mutable.java | Середина | [Двоичное индексированное дерево, дерево сегментов] | построить O(n), запрос (logn +k), обновить O(logn) | На) | Ява | 467 |
88 | 88. Объединить отсортированный массив.java | Легкий | [Массив, два указателя] | На) | О(1) | Ява | 468 |
319 | 319. Лампа Switcher.java | Середина | [Загадка, Математика] | О(1) | О(1) | Ява | 469 |
112 | 112. ПутьСумма.java | Легкий | [ДФС,Дерево] | Ява | 470 | ||
463 | 463. Периметр острова.java | Легкий | [Хеш-таблица] | На) | Ява | 471 | |
170 | 170. Two Sum III - Структура данных design.java | Легкий | [Дизайн, хэш-таблица, мемоизация] | На) | На) | Ява | 472 |
122 | 122. Лучшее время для покупки и продажи акций II.java | Легкий | [Массив, DP, Жадный, Последовательность DP, Статус DP] | На) | O(1) жадный, O(n) dp | Ява | 473 |
715 | 715. Модуль Диапазона.java | Жесткий | [Дерево сегментов, TreeSet] | запрос O (вход), обновление O (n) | На) | Ява | 474 |
12 | 12. Целое число в Roman.java | Середина | [Базовая реализация, математика, строка] | На) | На) | Ява | 475 |
14 | 14. Самый длинный общий префикс.java | Легкий | [Нить] | Ява | 476 | ||
243 | 243. Кратчайшее расстояние слова.java | Легкий | [Массив, два указателя] | На) | О(1) | Ява | 477 |
414 | 414. Третье максимальное число.java | Легкий | [Массив, PriorityQueue] | Ява | 478 | ||
1267 | 1267. Подсчет серверов, которые общаются.java | Середина | [Массив, График] | О(мин) | О (м + п) | Ява | 479 |
20 | 20. Допустимые скобки.java | Легкий | [Стек, Строка] | На) | На) | Ява | 480 |
893 | 893. Группы строк специального эквивалента.java | Легкий | [Базовая реализация, строка] | Ява | 481 | ||
427 | 427. Построить Quad Tree.java | Середина | [Дерево] | О(п^2) | О(п^2) | Ява | 482 |
981 | 981. Хранилище ключей и значений на основе времени.java | Середина | [Двоичный поиск, хеш-таблица, TreeMap] | установить O (1), получить (вход) | На) | Ява | 483 |
169 | 169.MajorityElement.java | Легкий | [Массив, битовые манипуляции, разделяй и властвуй, голосование Мура, сортировка] | На) | О(1) | Ява | 484 |
234 | 234. Связанный список палиндромов.java | Легкий | [Связанный список, два указателя] | На) | О(1) | Ява | 485 |
202 | 202. Счастливый номер.java | Легкий | [Хеш-таблица, математика] | O(m), м итераций | O(m), количество m в наборе | Ява | 486 |
69 | 69. Sqrt(x).java | Легкий | [Двоичный поиск, математика] | Ява | 487 | ||
876 | 876. Середина связанного списка.java | Легкий | [Связанный список] | Ява | 488 | ||
1026 | 1026. Максимальная разница между Node и Ancestor.java | Середина | [ДФС,Дерево] | На) | О(вход) | Ява | 489 |
78 | 78. Подмножества.java | Середина | [Массив, BFS, возврат, битовая манипуляция, DFS] | О (2 ^ п) | О (2 ^ п) | Ява | 490 |
432 | 432. Вся одна структура данных.java | Жесткий | [Дизайн, двусвязный список] | О(1) | На) | Ява | 491 |
380 | 380. Вставить Удалить GetRandom O(1).java | Середина | [Массив, Дизайн, Хэш-таблица] | О(1) среднее | На) | Ява | 492 |
560 | 560. Сумма подмассива равна K.java. | Середина | [Массив, Хэш-таблица, Предварительная сумма, Подмассив] | На) | На) | Ява | 493 |
219 | 219.СодержитДубликатII.java | Легкий | [Массив, хэш-таблица] | На) | На) | Ява | 494 |
91 | 91. Декодирование Ways.java | Середина | [DP, DP раздела, строка] | На) | На) | Ява | 495 |
205 | 205. Изоморфные строки.java | Легкий | [Хеш-таблица] | На) | На) | Ява | 496 |
639 | 639. Способы декодирования II.java | Жесткий | [DP, перечисление, раздел DP] | На) | На) | Ява | 497 |
346 | 346. Скользящее среднее из Data Stream.java | Легкий | [Дизайн, Очередь, Скользящее окно] | O(1) для next() | O(размер) для фиксированного хранилища | Ява | 498 |
145 | 145. Постпорядок двоичного дерева Traversal.java | Середина | [Стопка, Дерево, Две стопки] | На) | На) | Ява | 499 |
938 | 938. Сумма диапазона BST.java | Легкий | [BST, Рекурсия, Дерево] | Ява | 500 | ||
210 | 210. Расписание курсов II.java | Середина | [BFS, DFS, граф, топологическая сортировка] | На) | На) | Ява | 501 |
68 | 68. Выравнивание текста.java | Жесткий | [Перечисление, Строка] | O(n) пройтись по словам | Список буферов O(maxLength) | Ява | 502 |
314 | 314. Обход вертикального порядка двоичного дерева.java | Середина | [BFS, DFS, хеш-таблица, дерево] | На) | На) | Ява | 503 |
287 | 287. Найдите дубликат номер. Java | Середина | [Массив, двоичный поиск, двоичный поиск по значению, обнаружение цикла, медленный быстрый указатель, два указателя] | На) | O (1) | Ява | 504 |
242 | 242. Validanagram.java | Легкий | [Хэш -таблица, сортировка] | На) | O (1), уникальные чары | Ява | 505 |
340 | 340. Самая длинная подстрока с максимума k отдельных персонажей. Java | Жесткий | [Хэш -таблица, LinkedHashmap, раздвижное окно, строка, два указателя] | На) | Хорошо) | Ява | 506 |
217 | 217.containsDuplicate.java | Легкий | [Массив, хэш -таблица] | На) | O (1) | Ява | 507 |
103 | 103. Бинарное дерево зигзаговое положение порядок. | Середина | [BFS, стек, дерево] | На) | На) | Ява | 508 |
1057 | 1057. Кампусные велосипеды. Ява | Середина | [Сорт, жадный, приоритетный, сортировку] | O (Mn) | O (Mn) | Ява | 509 |
261 | 261. График действительное дерево. Java | Середина | [BFS, DFS, график, Union Find] | Ява | 510 | ||
64 | 64. Минимальный путь Sum.java | Середина | [Массив, координата DP, DP] | O (Mn) | O (n) катящийся массив | Ява | 511 |
796 | 796.rotatestring.java | Легкий | [Нить] | Ява | 512 | ||
229 | 229. Элемент большинства II.Java | Середина | [Массив, Мур голосует] | На) | (1) | Ява | 513 |
1041 | 1041. Робот ограничен в круге. Ява | Легкий | [Нить] | Ява | 514 | ||
2 | 2. Добавить два числа. Java | Середина | [Связанный список, математика] | O (Макс (M, N)) | O (Макс (M, N)) | Ява | 515 |
157 | 157. Читайте n символов, данный read4.java | Легкий | [Перечисление, строка] | Ява | 516 | ||
114 | 114. Сплющивание двоичного дерева до связанного списка. Java | Середина | [Бинарное дерево, DFS] | На) | O (n), стеки | Ява | 517 |
121 | 121. Лучшее время для покупки и продажи акций. Java | Легкий | [Array, DP, последовательность DP] | Ява | 518 | ||
1004 | 1004. Макс последовательный | Середина | [Раздвижное окно, два указателя] | На) | O (1) | Ява | 519 |
1146 | 1146. Снимок массив. Ява | Середина | [Массив, хэш -таблица, treeMap] | O (1) set, o (logn) get, o (x) snap, x = # изменений | O (n * m), n = размер массива, m = # of Snaps | Ява | 520 |
273 | 273. Integer к английским словам. Java | Жесткий | [Перечисление, математика, строка] | На) | O (1) | Ява | 521 |
304 | 304. Диапазон Сумма запроса 2d - Непонтируемое. Ява | Середина | [DP, Presum] | O (mn) сборка, o (1) запрос | O (Mn) | Ява | 522 |
605 | 605. может положить цветы. Ява | Легкий | [Массив, жадный] | На) | O (1) | Ява | 523 |
1 | 1.twosum.java | Легкий | [Массив, хэш -таблица] | На) | На) | Ява | 524 |
118 | 118. Треугольник Паскаля. Ява | Легкий | [Массив, базовая реализация, список] | O (n^2) на основе размера треугольника Pascal | O (n^2) | Ява | 525 |
двадцать три | 23. Merge K сортированные списки. Java | Середина | [Разделите и завоевывает, куча, связанный список, сортировка слияния, приоритет]] | O (nlogk) | O (logk) | Ява | 526 |
283 | 283. Переместить Zeroes.java | Легкий | [Массив, два указателя] | На) | O (1) | Ява | 527 |
208 | 208. Реализовать Trie (дерево префикса). Ява | Середина | [Дизайн, Три] | Ява | 528 | ||
516 | 516. Самая длинная палиндромическая подпоследовательность. Java | Середина | [DFS, DP, интервал DP, Memoization] | O (n^2) | O (n^2) | Ява | 529 |
218 | 218. Проблема горизонта. Ява | Жесткий | [Bit, Divide и Conquer, Hashheap, Heap, PriorityQueue, дерево сегмента, линия зачистки] | O (n^2logn) | На) | Ява | 530 |
430 | 430. Сплющите многоуровневый вдвойной список. Java | Середина | [DFS, связанный список] | На) | O (1) | Ява | 531 |
63 | 63. Уникальные пути II.java | Середина | [Массив, координата DP, DP] | O (Mn) | O (Mn) | Ява | 532 |
52 | 52. N-Queens II.Java | Жесткий | [Возврат] | На!) | На) | Ява | 533 |
1033 | 1033. Перемещение камней до последовательного. Java | Легкий | [Основная реализация, сортировка] | O (1), только 3 элемента | O (1) | Ява | 534 |
139 | 139. Word Break.java | Середина | [DP, хэш -таблица, последовательность DP] | O (n^2) | На) | Ява | 535 |
105 | 105. Создайте двоичное дерево из предварительного заказа и заказа Traversal.java | Середина | [Массив, DFS, Разделение и Завоевание, хэш -таблица, дерево] | На) | На) | Ява | 536 |
125 | 125. Действительный палиндром. Java | Легкий | [Строка, два указателя] | Ява | 537 | ||
449 | 449. Сериализуйте и десериализуйте bst.java | Середина | [Дерево] | На) | O (��n) | Ява | 538 |
274 | 274.h-index.java | Середина | [Сорт -сортировка, хэш -таблица, сортировка] | На) | На) | Ява | 539 |
160 | 160. пересечение двух связанных списков. | Легкий | [Связанный список] | Ява | 540 | ||
40 | 40. Комбинированная сумма II.java | Середина | [Массив, обратная переход, комбинация, DFS] | O (k * 2^n), k = avg rst длина | O (n) глубина стека, если не подсчитывать размер результата | Ява | 541 |
410 | 410. Split Array самая большая сумма. Java | Н/Д | [] | Ява | 542 | ||
724 | 724. Найти Pivot Index.java | Легкий | [Массив, предположить] | На) | O (1) | Ява | 543 |
523 | 523. Непрерывная субаррейская сумма. Java | Середина | [Координировать DP, DP, Math, Presum, Subarray] | На) | Хорошо) | Ява | 544 |
65 | 65. Validnumber.java | Жесткий | [Перечисление, математика, строка] | На) | O (1) | Ява | 545 |
350 | 350. пересечение двух массивов ii.java | Легкий | [Двоичный поиск, хэш -таблица, сортировка, два указателя] | (н) | (н) | Ява | 546 |
364 | 364. Вложенная списка веса веса ii.java | Середина | [DFS, IntedInteger] | O (n), посетите все узлы | O (h), глубина | Ява | 547 |
49 | 49. Группа Anagrams.java | Середина | [Хэш -таблица, строка] | O (NK) | O (NK) | Ява | 548 |
720 | 720. Самое длинное слово в Dictionary.java | Легкий | [Хэш -таблица, три] | O (nlogn) | На) | Ява | 549 |
438 | 438. Найдите все анаграммы в string.java | Середина | [Хэш -стол, раздвижное окно, два указателя] | На) | O (1) | Ява | 550 |
632 | 632. Наименьший диапазон, покрывающий элементы из k lists.java | Жесткий | [Хэш -стол, раздвижное окно, два указателя] | O (nlogn), n = общие элементы | O (n) для хранения списка отсортированного | Ява | 551 |
138 | 138. Список копий со случайным pointer.java | Середина | [Хэш -таблица, связанный список] | На) | На) | Ява | 552 |
159 | 159. Самая длинная подстрока с максимум двух разных символов. Java | Середина | [Хэш -таблица, раздвижное окно, струна, два указателя] | На) | O (1) | Ява | 553 |
1043 | 1043. Массив перегородков для максимальной суммы. Java | Середина | [DFS, DP, график, заметка] | O (n), Calc Memo [n] | На) | Ява | 554 |
33 | 33. Поиск в вращаемом сортированном массиве. Java | Середина | [Массив, бинарный поиск] | O (logn) | O (1) | Ява | 555 |
760 | 760. Найдите Anagram Mappings.java | Легкий | [Хэш -таблица] | На) | На) | Ява | 556 |
133 | 133.clonegraph.java | Середина | [BFS, DFS, График] | На) | На) | Ява | 557 |
743 | 743. Время задержки сети. | Середина | [BFS, DFS, GRAPH, HEAP, PQ] | O (nlogn) | На) | Ява | 558 |
636 | 636. Исключительное время функций. | Середина | [Куча] | На) | На) | Ява | 559 |
692 | 692. Top K частые слова. Java | Середина | [Hash Table, Heap, MaxHeap, MinHeap, DiporityQueue, Trie] | На) | На) | Ява | 560 |
1170 | 1170. Сравните строки по частоте наименьшего характера. Java | Легкий | [Массив, строка] | O (M + N) | O (M + N) | Ява | 561 |
426 | 426. Преобразование двоичного дерева поиска в сортированную вдвойне связанный список. Java | Середина | [BST, DFS, Divide и Conquer, Linked List, Tree] | На) | O (1) | Ява | 562 |
745 | 745. Префикс и суффикс search.java | Жесткий | [Три] | O (n + q) | НА) | Ява | 563 |
8 | 8. String to Integer (atoi) .java | Середина | [Математика, строка] | На) | На) | Ява | 564 |
361 | 361. Бомбардира противника. Ява | Середина | [Координировать DP, DP] | O (Mn) | O (n) путем расчета суммы столбца | Ява | 565 |
94 | 94. Бинарное дерево inorder traversal.java | Легкий | [Хэш -таблица, стек, дерево] | На) | O (logn) | Ява | 566 |
402 | 402. Снимите K Digits.java | Середина | [Жадный, монотонный стек, стек] | На) | На) | Ява | 567 |
98 | 98. Проведите дерево бинарного поиска. Java | Середина | [BST, DFS, Divide и Conquer, Tree] | На) | O (logn) | Ява | 568 |
1123 | 1123. Самый низкий общий предок из самых глубоких листьев. Ява | Середина | [BFS, DFS, Tree] | На) | На) | Ява | 569 |
921 | 921. | Середина | [] | На) | O (1) | Ява | 570 |
399 | 399. Оценка подразделения. Java | Середина | [BFS, DFS, график, Union Find] | Ява | 571 | ||
785 | 785. - это график bipartite.java | Середина | [BFS, DFS, Garph] | На) | На) | Ява | 572 |
767 | 767. Реорганизовать string.java | Середина | [Жадный, хэш -таблица, куча, сортировка, строка] | O (m), m = # уникальных букв | O (nlogm), n = длина | Ява | 573 |
71 | 71. Упростить Path.java | Середина | [Стек, строка] | На) | На) | Ява | 574 |
34 | 34. Найдите первую и последнюю позицию элемента в отсортированном массиве. Java | Середина | [Массив, бинарный поиск] | O (logn) | O (1) | Ява | 575 |
278 | 278. Первая плохая версия. Java | Легкий | [Бинарный поиск] | O (logn) | O (1) | Ява | 576 |
124 | 124. Двоирный максимальный путь дерева. | Жесткий | [DFS, DP, Tree, Tree DP] | На) | O (logn) | Ява | 577 |
721 | 721. Счета Merge.java | Середина | [DFS, хэш -таблица, Union Find] | Ява | 578 | ||
689 | 689. Максимальная сумма 3 непересекающихся subarrays.java | Жесткий | [Array, DP] | На) | На) | Ява | 579 |
101 | 101. Симметричное дерево. Ява | Легкий | [BFS, DFS, Tree] | На) | На) | Ява | 580 |
149 | 149. Макс указывает на линию. Ява | Жесткий | [Массив, геометрия, хэш -таблица, математика] | O (n^2) | O () | Ява | 581 |
698 | 698. Разделение на k равенную сумму подмножествах. Java | Середина | [DFS, DP, рекурсия] | O (k^(nk) * k!) | На) | Ява | 582 |
57 | 57. Вставьте интервал. Java | Жесткий | [Массив, приоритет, сортировка, линия зачистки] | На) | На) | Ява | 583 |
13 | 13. Roman to Integer.java | Легкий | [Математика, строка] | На) | O (1) | Ява | 584 |
716 | 716.maxstack.java | Середина | [Дизайн, вдвойне связанный список, стек, treeMap] | avg o (1), [o (logn) peekmax (), treemap]; | На) | Ява | 585 |
671 | 671. Второй минимальный узел в бинарном дереве. Ява | Легкий | [BFS, дерево] | На) | O (n) листовые узлы | Ява | 586 |
366 | 366. Найдите листья бинарного дерева. Ява | Середина | [DFS, дерево] | На) | Ой) | Ява | 587 |
235 | 235. Самый низкий общий предок бинарного поиска. | Легкий | [BST, DFS, Tree] | O (logn) | O (logn) | Ява | 588 |
156 | 156. Бинарное дерево вверх дни. | Середина | [DFS, дерево] | На) | Ой) | Ява | 589 |
416 | 416. Разделение равного подмножество Sum.java | Середина | [Рюкзак, DP] | Ява | 590 | ||
611 | 611. Действительный номер треугольника. Java | Середина | [Массив, два указателя] | O (n^2) | O (logn), пространство сортировки | Ява | 591 |
341 | 341. Сплют вложенного списка итератор. Java | Середина | [Дизайн, nestedInteger, Stack] | На) | На) | Ява | 592 |
254 | 254. Комбинации факторов. Ява | Середина | [BFS, возврат, DFS] | O (x), x - это # результатов | O (y), y - все текущие кандидаты в очереди | Ява | 593 |
739 | 739. Ежедневные температуры. Ява | Середина | [Хэш -таблица, монотонная стека, стек] | На) | На) | Ява | 594 |
373 | 373. Найдите k пары с наименьшими суммами. | Середина | [Heap, Maxheap, Minheap] | O (klogk) | Хорошо) | Ява | 595 |
256 | 256. Paint House.java | Легкий | [DP, последовательность DP, статус DP] | O (nm), m = # цветов | O (nm), или O (1) с массивом Rolling | Ява | 596 |
265 | 265. Paint House II.Java | Жесткий | [DP, последовательность DP, статус DP] | O (nk^2): | O (k) с массивом катания | Ява | 597 |
272 | 272. Ближайший двоичный значения дерева поиска II.Java | Жесткий | [Стек, дерево] | На) | На) | Ява | 598 |
72 | 72. Редактировать расстояние. Ява | Жесткий | [DP, двойная последовательность DP, последовательность DP, String] | O (Mn) | Ява | 599 | |
215 | 215. KTH крупнейший элемент в массиве. Java | Середина | [Разделение и завоевание, Хип, Минхеап, Приоритет, быстрый выбор, быстрый сортировка] | O (nlogk) | Хорошо) | Ява | 600 |