Единственный элемент
Условие задачи:
Дан непустой массив целых чисел nums, каждый элемент появляется дважды, за исключением одного. Найдите этот самый единственный элемент.
Вы должны реализовать решение с линейной сложностью и использовать только постоянное дополнительное пространство.
Пример:
Ввод:
Условие задачи:
Дан непустой массив целых чисел nums, каждый элемент появляется дважды, за исключением одного. Найдите этот самый единственный элемент.
Вы должны реализовать решение с линейной сложностью и использовать только постоянное дополнительное пространство.
Пример:
Ввод:
nums = [8, 8, 6]
Вывод: 6
Ввод: nums = [4, 1, 2, 1, 2]
Вывод: 4
Решение задачи👍25
Контейнер с наибольшим количеством воды
Вам дан целочисленный массив height длины n. Нарисовано n вертикальных линий, две конечные точки i-й линии равны (i, 0) и (i, height[i]). Найдите две линии, которые вместе с осью абсцисс образуют контейнер, содержащий наибольшее количество воды. Верните максимальное количество воды, которое может храниться в контейнере. Обратите внимание, что вы не можете наклонять контейнер.
Пример 1 (картинка):
Ввод: height = [1,8,6,2,5,4,8,3,7]
Вывод: 49
Объяснение: Вышеуказанные вертикальные линии представлены массивом [1,8,6,2,5,4,8,3,7]. В этом случае максимальная площадь воды (синяя секция), которую может содержать контейнер, составляет 49.
Пример 2:
Ввод: height = [1,1]
Вывод: 1
Решение задачи
Вам дан целочисленный массив height длины n. Нарисовано n вертикальных линий, две конечные точки i-й линии равны (i, 0) и (i, height[i]). Найдите две линии, которые вместе с осью абсцисс образуют контейнер, содержащий наибольшее количество воды. Верните максимальное количество воды, которое может храниться в контейнере. Обратите внимание, что вы не можете наклонять контейнер.
Пример 1 (картинка):
Ввод: height = [1,8,6,2,5,4,8,3,7]
Вывод: 49
Объяснение: Вышеуказанные вертикальные линии представлены массивом [1,8,6,2,5,4,8,3,7]. В этом случае максимальная площадь воды (синяя секция), которую может содержать контейнер, составляет 49.
Пример 2:
Ввод: height = [1,1]
Вывод: 1
Решение задачи
👍33
Добавление строк
Условие задачи:
Даны два неотрицательных целых числа, str1 и str2, представленные в виде строки. Требуется вернуть сумму str1 и str2 в виде строки.
Вы должны решить эту задачу, не используя какую-либо встроенную библиотеку для обработки больших целых чисел (например, BigInteger). Вы также не должны преобразовывать входные данные непосредственно в целые числа.
Примеры:
Ввод:
Условие задачи:
Даны два неотрицательных целых числа, str1 и str2, представленные в виде строки. Требуется вернуть сумму str1 и str2 в виде строки.
Вы должны решить эту задачу, не используя какую-либо встроенную библиотеку для обработки больших целых чисел (например, BigInteger). Вы также не должны преобразовывать входные данные непосредственно в целые числа.
Примеры:
Ввод:
str1 = "11", str2 = "123"
Вывод: 134
Ввод: str1 = "456", str2 = "77"
Вывод: 533
Решение задачи👍22
3Sum Closest
Имея целочисленный массив
Ввод: nums = [-1,2,1,-4], target = 1 Вывод: 2
Сумма, ближайшая к цели, равна 2. (-1 + 2 + 1 = 2).
Ввод: nums = [0,0,0], target = 1
Вывод: 0
Решение задачи
Имея целочисленный массив
nums длины n и целочисленную target, найдите три целых числа в nums, сумма которых ближе всего к target. Верните сумму трех целых чисел. Каждый вход будет иметь ровно одно решение.Ввод: nums = [-1,2,1,-4], target = 1 Вывод: 2
Сумма, ближайшая к цели, равна 2. (-1 + 2 + 1 = 2).
Ввод: nums = [0,0,0], target = 1
Вывод: 0
Решение задачи
👍17
Числа Фибоначчи
Условие задачи:
Числа Фибоначчи, обычно обозначаемые F(n), образуют последовательность, называемую последовательностью Фибоначчи, так что каждое число является суммой двух предыдущих, начиная с 0 и 1.
F(0) = 0, F(1) = 1
F(n) = F(n - 1) + F(n - 2), for n > 1.
Вам дано число n. Требуется найти F(n).
Примеры:
Ввод:
Ввод:
Условие задачи:
Числа Фибоначчи, обычно обозначаемые F(n), образуют последовательность, называемую последовательностью Фибоначчи, так что каждое число является суммой двух предыдущих, начиная с 0 и 1.
F(0) = 0, F(1) = 1
F(n) = F(n - 1) + F(n - 2), for n > 1.
Вам дано число n. Требуется найти F(n).
Примеры:
Ввод:
n = 2
Вывод: 1
Объяснение: F(2) = F(1) + F(0) = 1 + 0 = 1.Ввод:
n = 3
Вывод: 2
Решение задачи👍18
Буквенные комбинации номера телефона
Получив строку, содержащую цифры от 2 до 9 включительно, вернуть все возможные комбинации букв, которые может представлять число. Верните ответ в любом порядке. Отображение цифр в буквы (точно так же, как на телефонных кнопках) приведено на картинке. Обратите внимание, что 1 не соответствует ни одной букве.
Примеры:
Ввод: nums = "23"
Вывод: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Ввод: digits = ""
Вывод: []
Ввод: digits = "2"
Вывод: ["a","b","c"]
Решение задачи
Получив строку, содержащую цифры от 2 до 9 включительно, вернуть все возможные комбинации букв, которые может представлять число. Верните ответ в любом порядке. Отображение цифр в буквы (точно так же, как на телефонных кнопках) приведено на картинке. Обратите внимание, что 1 не соответствует ни одной букве.
Примеры:
Ввод: nums = "23"
Вывод: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]
Ввод: digits = ""
Вывод: []
Ввод: digits = "2"
Вывод: ["a","b","c"]
Решение задачи
👍19
Создание скобок
Для заданных n пар скобок напишите функцию, генерирующую все комбинации правильных пар скобок.
Ввод: n = 3
Вывод: ["((()))","(()())","(())()","()(())","()()()"]
Ввод: n = 1
Вывод: ["()"]
Решение задачи
Для заданных n пар скобок напишите функцию, генерирующую все комбинации правильных пар скобок.
Ввод: n = 3
Вывод: ["((()))","(()())","(())()","()(())","()()()"]
Ввод: n = 1
Вывод: ["()"]
Решение задачи
👍29
Допустимая анаграмма
Условие задачи:
Даны две строки s и t, верните true, если t является анаграммой s и false в противном случае.
Анаграмма - это слово или фраза, образованные путем перестановки букв другого слова или фразы, обычно используя все исходные буквы ровно один раз.
Примеры:
Ввод:
Условие задачи:
Даны две строки s и t, верните true, если t является анаграммой s и false в противном случае.
Анаграмма - это слово или фраза, образованные путем перестановки букв другого слова или фразы, обычно используя все исходные буквы ровно один раз.
Примеры:
Ввод:
s = "anagram", t = "nagaram"
Вывод: true
Ввод: s = "rat", t = "car"
Вывод: false
Решение задачи👍16❤1
Самая длинная палиндромная подстрока
Условие задачи:
Дана строка s. Требуется вернуть самую длинную палиндромную подстроку в s.
Примеры:
Ввод:
Ввод:
Условие задачи:
Дана строка s. Требуется вернуть самую длинную палиндромную подстроку в s.
Примеры:
Ввод:
s = "babad"
Вывод: "bab"
Объяснение: "aba" также является правильным ответом.Ввод:
s = "cbbd"
Вывод: "bb"
Решение задачи👍20
Поиск дубликата
Условие задачи:
Дан массив целых чисел nums, содержащий n + 1 целых чисел, где каждое целое число находится в диапазоне [1, n] включительно.
В nums есть только одно повторяющееся число, верните это повторяющееся число.
Вы должны решить задачу, не изменяя элементы массива и используя только постоянное дополнительное пространство.
Все целые числа в nums отображаются только один раз, за исключением ровно одного целого числа, которое появляется два или более раз.
Примеры:
Ввод:
Условие задачи:
Дан массив целых чисел nums, содержащий n + 1 целых чисел, где каждое целое число находится в диапазоне [1, n] включительно.
В nums есть только одно повторяющееся число, верните это повторяющееся число.
Вы должны решить задачу, не изменяя элементы массива и используя только постоянное дополнительное пространство.
Все целые числа в nums отображаются только один раз, за исключением ровно одного целого числа, которое появляется два или более раз.
Примеры:
Ввод:
nums = [1,3,4,2,2]
Вывод: 2
Ввод: nums = [3,1,3,4,2]
Вывод: 3
Решение задачи👍21👎3❤1
Уникальное количество вхождений
Условие задачи:
Дан массив целых чисел arr, верните true, если количество вхождений каждого значения в массиве уникально, или false в противном случае.
Пример:
Ввод:
Ввод:
Условие задачи:
Дан массив целых чисел arr, верните true, если количество вхождений каждого значения в массиве уникально, или false в противном случае.
Пример:
Ввод:
arr = [1,2,2,1,1,3]
Вывод: true
Объяснение: Значение 1 имеет 3 вхождения, 2 имеет 2, а 3 имеет 1. Никакие два значения не имеют одинакового количества вхождений.Ввод:
arr = [1,2]
Вывод: false
Решение задачи👍17
Улавливание дождевой воды
Имея n неотрицательных целых чисел, представляющих карту высот, где ширина каждой полосы равна 1, вычислите, сколько воды она может собрать после дождя. На картинке пример 1:
Ввод: height = [0,1,0,2,1,0,1,3,2,1,2,1]
Вывод: 6
Объяснение: Вышеприведенная карта высот (черный участок) представлена массивом [0,1,0,2,1,0,1,3,2,1,2,1]. В этом случае задерживается 6 единиц дождевой воды (синяя секция).
Пример 2:
Ввод: height = [4,2,0,3,2,5]
Вывод: 9
Решение задачи
Имея n неотрицательных целых чисел, представляющих карту высот, где ширина каждой полосы равна 1, вычислите, сколько воды она может собрать после дождя. На картинке пример 1:
Ввод: height = [0,1,0,2,1,0,1,3,2,1,2,1]
Вывод: 6
Объяснение: Вышеприведенная карта высот (черный участок) представлена массивом [0,1,0,2,1,0,1,3,2,1,2,1]. В этом случае задерживается 6 единиц дождевой воды (синяя секция).
Пример 2:
Ввод: height = [4,2,0,3,2,5]
Вывод: 9
Решение задачи
👍26❤1
Сумма минимумов подмассива
Условие задачи:
Дан массив целых чисел arr. Требуется найти сумму min(b), где b колеблется по каждому (непрерывному) подмассиву arr. Поскольку ответ может быть большим, верните ответ по модулю 10^9 + 7.
Пример:
Ввод:
Подмассивы [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.
Ввод:
Условие задачи:
Дан массив целых чисел arr. Требуется найти сумму min(b), где b колеблется по каждому (непрерывному) подмассиву arr. Поскольку ответ может быть большим, верните ответ по модулю 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.
Ввод:
arr = [11,81,94,43,3]
Вывод: 444
Решение задачи👍12
Приветствую всех, на связи админ! Какие у вас будут пожелания по доработке контента на нашем канале? 🤔🤔🤔
🤔10👍2🎉2
4Sum
Получив массив nums из n целых чисел, вернуть массив всех уникальных четверок [nums[a], nums[b], nums[c], nums[d]], таких что:
0 <= a, b, c, d < n;
a, b, c, и d различны;
nums[a] + nums[b] + nums[c] + nums[d] == target;
Ответ можно вернуть в любом порядке.
Пример 1:
Ввод: nums = [1,0,-1,0,-2,2], target = 0
Вывод: [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]
Пример 2:
Ввод: nums = [2,2,2,2,2], target = 8
Вывод: [[2,2,2,2]]
Решение задачи
Получив массив nums из n целых чисел, вернуть массив всех уникальных четверок [nums[a], nums[b], nums[c], nums[d]], таких что:
0 <= a, b, c, d < n;
a, b, c, и d различны;
nums[a] + nums[b] + nums[c] + nums[d] == target;
Ответ можно вернуть в любом порядке.
Пример 1:
Ввод: nums = [1,0,-1,0,-2,2], target = 0
Вывод: [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]
Пример 2:
Ввод: nums = [2,2,2,2,2], target = 8
Вывод: [[2,2,2,2]]
Решение задачи
👍22❤1
Лучшее время для покупки и продажи акций
Условие задачи:
Вам дан массив prices, где prices[i] — цена данной акции на i-й день.
Вы хотите максимизировать свою прибыль, выбрав один день для покупки одной акции и выбрав другой день в будущем для продажи этой акции.
Верните максимальную прибыль, которую вы можете получить от этой сделки. Если вы не можете получить никакой прибыли, верните 0.
Пример:
Ввод:
Покупка во 2-й день (цена = 1) и продажа в 5-й день (цена = 6), прибыль = 6-1 = 5.
Обратите внимание, что покупка во 2-й день и продажа в 1-й день не разрешены, потому что вы должны купить перед продажей.
Ввод:
Условие задачи:
Вам дан массив prices, где prices[i] — цена данной акции на i-й день.
Вы хотите максимизировать свою прибыль, выбрав один день для покупки одной акции и выбрав другой день в будущем для продажи этой акции.
Верните максимальную прибыль, которую вы можете получить от этой сделки. Если вы не можете получить никакой прибыли, верните 0.
Пример:
Ввод:
prices = [7,1,5,3,6,4]
Вывод: 5
Объяснение: Покупка во 2-й день (цена = 1) и продажа в 5-й день (цена = 6), прибыль = 6-1 = 5.
Обратите внимание, что покупка во 2-й день и продажа в 1-й день не разрешены, потому что вы должны купить перед продажей.
Ввод:
prices = [7,6,4,3,1]
Вывод: 0
Решение задачи👍24
Генерация скобок
Сложность задачи: Средняя
Условие задачи:
Дано n пар круглых скобок, напишите функцию для генерации всех комбинаций правильно сформированных круглых скобок.
Пример:
Ввод:
Сложность задачи: Средняя
Условие задачи:
Дано n пар круглых скобок, напишите функцию для генерации всех комбинаций правильно сформированных круглых скобок.
Пример:
Ввод:
n = 3
Вывод: ["((()))","(()())","(())()","()(())","()()()"]
Ввод: n = 1
Вывод: ["()"]
Решение задачи👍23
Поменяйте местами узлы парами
Получив связный список, поменяйте местами каждые два соседних узла и верните его head. Вы должны решить задачу, не изменяя значения в узлах списка (т. е. можно изменить только сами узлы).
Пример 1 (картинка):
Input: head = [1,2,3,4]
Output: [2,1,4,3]
Пример 2:
Input: head = []
Output: []
Пример 3:
Input: head = [1]
Output: [1]
Решение задачи
Получив связный список, поменяйте местами каждые два соседних узла и верните его head. Вы должны решить задачу, не изменяя значения в узлах списка (т. е. можно изменить только сами узлы).
Пример 1 (картинка):
Input: head = [1,2,3,4]
Output: [2,1,4,3]
Пример 2:
Input: head = []
Output: []
Пример 3:
Input: head = [1]
Output: [1]
Решение задачи
👍6🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
Треугольник Паскаля
Сложность задачи: Легкая
Условие задачи:
Дано целое число numRows, верните первые numRows треугольника Паскаля.
В треугольнике Паскаля каждое число является суммой двух чисел непосредственно над ним, как показано на гифке выше.
Пример:
Ввод:
Сложность задачи: Легкая
Условие задачи:
Дано целое число numRows, верните первые numRows треугольника Паскаля.
В треугольнике Паскаля каждое число является суммой двух чисел непосредственно над ним, как показано на гифке выше.
Пример:
Ввод:
numRows = 5
Вывод: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Ввод: numRows = 1
Вывод: [[1]]
Решение задачи👍30🔥1
Максимальная длина повторяющегося подмассива
Сложность задачи: Средняя
Условие задачи:
Даны два целочисленных массива nums1 и nums2, верните максимальную длину подмассива, который появляется в обоих массивах.
Пример:
Ввод:
Ввод:
Сложность задачи: Средняя
Условие задачи:
Даны два целочисленных массива nums1 и nums2, верните максимальную длину подмассива, который появляется в обоих массивах.
Пример:
Ввод:
nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7]
Вывод: 3
Объяснение: Повторяющийся подмассив с максимальной длиной будет [3,2,1].Ввод:
nums1 = [0,0,0,0,0], nums2 = [0,0,0,0,0]
Вывод: 5
Решение задачи👍10
Групповые анаграммы
Сложность задачи: Средняя
Условие задачи:
Дан массив строк strs. Требуется сгруппировать анаграммы вместе. Вы можете вернуть ответ в любом порядке.
Анаграмма — это слово или фраза, образованная путем перестановки букв другого слова или фразы, обычно с использованием всех исходных букв ровно один раз.
Пример:
Ввод:
Сложность задачи: Средняя
Условие задачи:
Дан массив строк strs. Требуется сгруппировать анаграммы вместе. Вы можете вернуть ответ в любом порядке.
Анаграмма — это слово или фраза, образованная путем перестановки букв другого слова или фразы, обычно с использованием всех исходных букв ровно один раз.
Пример:
Ввод:
strs = ["eat","tea","tan","ate","nat","bat"]
Вывод: [["bat"],["nat","tan"],["ate","eat","tea"]]
Ввод: strs = [""]
Вывод: [[""]]
Решение задачи👍15