Заливка
Сложность: Лёгкая
Условие задачи: дается изображение, которое представлено двумерной матрицей, где каждая ячейка означает значение пикселя.
Также даются три числа sr, sc, color. Надо осуществить заливку, начиная с image[sr][sc].
Заливка осуществляется в четырех направлениях от текущей ячейки, при этом изменяются только ячейки, которые имеют идентичное значение пикселя с базовой ячейкой.
Пример:
Ввод: image = [[1,1,1],[1,1,0],[1,0,1]], sr = 1, sc = 1, color = 2
Вывод: [[2,2,2],[2,2,0],[2,0,1]]
Решение задачи
Сложность: Лёгкая
Условие задачи: дается изображение, которое представлено двумерной матрицей, где каждая ячейка означает значение пикселя.
Также даются три числа sr, sc, color. Надо осуществить заливку, начиная с image[sr][sc].
Заливка осуществляется в четырех направлениях от текущей ячейки, при этом изменяются только ячейки, которые имеют идентичное значение пикселя с базовой ячейкой.
Пример:
Ввод: image = [[1,1,1],[1,1,0],[1,0,1]], sr = 1, sc = 1, color = 2
Вывод: [[2,2,2],[2,2,0],[2,0,1]]
Решение задачи
❤2👍2
Конвертация отсортированного массива в бинарное дерево поиска
Сложность: Лёгкая
Условие задачи: дан целочисленный массив, упорядоченный по возрастанию. Необходимо конвертировать его в сбалансированное по высоте дерево (бинарное).
Сбалансированное по высоте бинарное дерево - это бинарное дерево, глубина между потомками которого на каждом узле отличается не более чем на единицу.
Пример:
Ввод: nums = [-10,-3,0,5,9]
Вывод: [0,-3,9,-10,null,5]
Объяснение: [0,-10,5,null,-3,null,9] также является ответом
Ввод: nums = [1,3]
Вывод: [3,1]
Объяснение: [1,null,3] также является ответом
Решение задачи
Сложность: Лёгкая
Условие задачи: дан целочисленный массив, упорядоченный по возрастанию. Необходимо конвертировать его в сбалансированное по высоте дерево (бинарное).
Сбалансированное по высоте бинарное дерево - это бинарное дерево, глубина между потомками которого на каждом узле отличается не более чем на единицу.
Пример:
Ввод: nums = [-10,-3,0,5,9]
Вывод: [0,-3,9,-10,null,5]
Объяснение: [0,-10,5,null,-3,null,9] также является ответом
Ввод: nums = [1,3]
Вывод: [3,1]
Объяснение: [1,null,3] также является ответом
Решение задачи
👍1
Перенос указателя вправо
Сложность: Средняя
Условие задачи: дается бинарное дерево, необходимо перенести каждый указатель на следующий узел на соответствующий правый правый элемент на текущем уровне либо же передать указатель на NULL в случае отсутствия узла.
Пример:
Ввод:
Вывод:
Сложность: Средняя
Условие задачи: дается бинарное дерево, необходимо перенести каждый указатель на следующий узел на соответствующий правый правый элемент на текущем уровне либо же передать указатель на NULL в случае отсутствия узла.
Пример:
Ввод:
root = [1,2,3,4,5,null,7]Вывод:
[1,#,2,3,#,4,5,7,#]
Решение задачи👍1
Сумма минимумов подмассивов
Сложность: Средняя
Условие задачи: дается массив целых чисел, необходимо посчитать сумму минимумов подмассивов, ответ может быть большим, необходимо посчитать результат по модулю 10^9 + 7.
Пример:
Ввод: arr = [3,1,2,4]
Вывод: 17
Объяснение:
Подмассивы: [3], [1], [2], [4], [3,1], [1,2], [2,4], [3,1,2], [1,2,4], [3,1,2,4], минимумы этих подмассивов: 3, 1, 2, 4, 1, 1, 2, 1, 1, 1, которые в сумме дают 17.
Решение задачи
Сложность: Средняя
Условие задачи: дается массив целых чисел, необходимо посчитать сумму минимумов подмассивов, ответ может быть большим, необходимо посчитать результат по модулю 10^9 + 7.
Пример:
Ввод: arr = [3,1,2,4]
Вывод: 17
Объяснение:
Подмассивы: [3], [1], [2], [4], [3,1], [1,2], [2,4], [3,1,2], [1,2,4], [3,1,2,4], минимумы этих подмассивов: 3, 1, 2, 4, 1, 1, 2, 1, 1, 1, которые в сумме дают 17.
Решение задачи
👍1
Swap Adjacent in LR String
Сложность задачи: Средняя
Условие задачи:
В строке, состоящей из символов «L», «R» и «X», например «RXXLRXRXL», перемещение состоит либо в замене одного вхождения «XL» на «LX», либо в замене одного вхождения «RX» на "ХР". Учитывая начальную строку и конец конечной строки, вернуть True тогда и только тогда, когда существует последовательность ходов для преобразования одной строки в другую.
Пример:
Ввод:
RXXLRXRXL ->
XRXLRXRXL ->
XRLXRXRXL ->
XRLXXRRXL ->
XRLXXRRLX
Ввод:
Сложность задачи: Средняя
Условие задачи:
В строке, состоящей из символов «L», «R» и «X», например «RXXLRXRXL», перемещение состоит либо в замене одного вхождения «XL» на «LX», либо в замене одного вхождения «RX» на "ХР". Учитывая начальную строку и конец конечной строки, вернуть True тогда и только тогда, когда существует последовательность ходов для преобразования одной строки в другую.
Пример:
Ввод:
start = "RXXLRXRXL", end = "XRLXXRRLX"
Вывод: true
Объяснение: Мы можем преобразовать начало в конец, выполнив следующие шаги:RXXLRXRXL ->
XRXLRXRXL ->
XRLXRXRXL ->
XRLXXRRXL ->
XRLXXRRLX
Ввод:
start = "X", end = "L"
Вывод: false
Решение задачиLeetCode
Swap Adjacent in LR String - LeetCode
Can you solve this real interview question? Swap Adjacent in LR String - In a string composed of 'L', 'R', and 'X' characters, like "RXXLRXRXL", a move consists of either replacing one occurrence of "XL" with "LX", or replacing one occurrence of "RX" with…
👍1
Самая длинная подстрока без повторений
Сложность: Средняя.
Условие задачи: дана строка надо найти самую длинную подстроку, в которой не будет повторений.
Пример:
Ввод:
Ввод:
Сложность: Средняя.
Условие задачи: дана строка надо найти самую длинную подстроку, в которой не будет повторений.
Пример:
Ввод:
s = "abcabcbb"
Вывод: 3
Объяснение: ответом является подстрока "abc", длина которой равна 3. Ввод:
s = "bbbbb"
Вывод: 1
Ввод: s = "pwwkew"
Вывод: 3
Объяснение: ответ - "wke" (длина = 3).
Решение задачи👍1
Бинарный поиск
Сложность: Лёгкая
Условие задачи: дан целочисленный массив, отсортированный в порядке возрастания. Необходимо найти индекс target-значения. Если целевое значение отсутствует - нужно вернуть -1.
Пример:
Ввод: nums = [-1,0,3,5,9,12], target = 9
Вывод: 4
Ввод:
Сложность: Лёгкая
Условие задачи: дан целочисленный массив, отсортированный в порядке возрастания. Необходимо найти индекс target-значения. Если целевое значение отсутствует - нужно вернуть -1.
Пример:
Ввод: nums = [-1,0,3,5,9,12], target = 9
Вывод: 4
Ввод:
nums = [-1,0,3,5,9,12], target = 2
Вывод: -1
Решение задачи👍2
Пересечение двух массивов II
Сложность: Лёгкая
Условие задачи: даны два целочисленных массива, необходимо вернуть все элементы, встречающиеся в каждом из них. Ответ может быть возвращен в любом порядке.
Пример:
Ввод:
Ввод:
Решение задачи
Сложность: Лёгкая
Условие задачи: даны два целочисленных массива, необходимо вернуть все элементы, встречающиеся в каждом из них. Ответ может быть возвращен в любом порядке.
Пример:
Ввод:
nums1 = [1,2,2,1], nums2 = [2,2]
Вывод: [2,2]Ввод:
nums1 = [4,9,5], nums2 = [9,4,9,8,4]
Вывод: [4,9] или [9,4]Решение задачи
👍2
Изменение порядка следования элементов связного списка
Сложность: Средняя
Условие задачи : дан связный список:
L0 → L1 → … → Ln - 1 → Ln.
Надо переопределить порядок следования элементов на следующий:
L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …
Пример:
Ввод: head = [1,2,3,4]
Вывод: [1,4,2,3]
Ввод: [1,2,3,4,5]
Вывод: [1,5,2,4,3]
Решение задачи
Сложность: Средняя
Условие задачи : дан связный список:
L0 → L1 → … → Ln - 1 → Ln.
Надо переопределить порядок следования элементов на следующий:
L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …
Пример:
Ввод: head = [1,2,3,4]
Вывод: [1,4,2,3]
Ввод: [1,2,3,4,5]
Вывод: [1,5,2,4,3]
Решение задачи
👍1
Jump Game II
Сложность задачи: средняя
Условие:
Получив массив неотрицательных целых чисел nums, вы изначально позиционируетесь в первом индексе массива. Каждый элемент массива представляет максимальную длину прыжка в этой позиции. Ваша цель - достичь последнего индекса за минимальное количество прыжков. Вы можете предположить, что вы всегда можете добраться до последнего индекса.
Примеры:
Ввод: nums = [2,3,1,1,4]
Вывод: 2
Объяснение: Минимальное количество переходов для достижения последнего индекса равно 2. Перейти на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.
Ввод: nums = [2,3,0,1,4]
Вывод: 2
Решение задачи
Сложность задачи: средняя
Условие:
Получив массив неотрицательных целых чисел nums, вы изначально позиционируетесь в первом индексе массива. Каждый элемент массива представляет максимальную длину прыжка в этой позиции. Ваша цель - достичь последнего индекса за минимальное количество прыжков. Вы можете предположить, что вы всегда можете добраться до последнего индекса.
Примеры:
Ввод: nums = [2,3,1,1,4]
Вывод: 2
Объяснение: Минимальное количество переходов для достижения последнего индекса равно 2. Перейти на 1 шаг от индекса 0 к 1, затем на 3 шага к последнему индексу.
Ввод: nums = [2,3,0,1,4]
Вывод: 2
Решение задачи
❤2👍2
Подсчет уникальных символов всех подстрок заданной строки
Сложность задачи: Трудная
Условие задачи:
Давайте определим функцию countUniqueChars(s), которая возвращает количество уникальных символов в s.
Например, вызов countUniqueChars(s), если s = "LEETCODE", тогда "L", "T", "C", "O", "D" являются уникальными символами, поскольку они появляются только один раз в s, поэтому countUniqueChars(s ) = 5.
Для строки s вернуть сумму countUniqueChars(t), где t — подстрока s. Тестовые примеры генерируются таким образом, чтобы ответ помещался в 32-битное целое число.
Обратите внимание, что некоторые подстроки могут повторяться, поэтому в этом случае вам также придется считать повторяющиеся.
Строка s состоит только из заглавных английских букв.
Пример:
Ввод:
Все возможные подстроки: «A», «B», «C», «AB», «BC» и «ABC».
Каждая подстрока состоит только из уникальных букв.
Сумма длин всех подстрок равна 1 + 1 + 1 + 2 + 2 + 3 = 10
Ввод:
Сложность задачи: Трудная
Условие задачи:
Давайте определим функцию countUniqueChars(s), которая возвращает количество уникальных символов в s.
Например, вызов countUniqueChars(s), если s = "LEETCODE", тогда "L", "T", "C", "O", "D" являются уникальными символами, поскольку они появляются только один раз в s, поэтому countUniqueChars(s ) = 5.
Для строки s вернуть сумму countUniqueChars(t), где t — подстрока s. Тестовые примеры генерируются таким образом, чтобы ответ помещался в 32-битное целое число.
Обратите внимание, что некоторые подстроки могут повторяться, поэтому в этом случае вам также придется считать повторяющиеся.
Строка s состоит только из заглавных английских букв.
Пример:
Ввод:
s = "ABC"
Вывод: 10
Объяснение: Все возможные подстроки: «A», «B», «C», «AB», «BC» и «ABC».
Каждая подстрока состоит только из уникальных букв.
Сумма длин всех подстрок равна 1 + 1 + 1 + 2 + 2 + 3 = 10
Ввод:
s = "ABA"
Вывод: 8
Решение задачи👍1