LeetCode Community
9.74K subscribers
802 photos
5 videos
1.1K links
Сообщество пользователей-фанатов LeetCode. 🦾

Ссылка для друга: https://t.me/+fhGikrkptrpkYmIy

По всем вопросам: @mascarov_valentin или @adv_and_pr

НЕ являемся официальным каналом leetcode.com.

№4974320675
Download Telegram
Поиск дубликата

Условие задачи:
Дан массив целых чисел nums, содержащий n + 1 целых чисел, где каждое целое число находится в диапазоне [1, n] включительно.

В nums есть только одно повторяющееся число, верните это повторяющееся число.

Вы должны решить задачу, не изменяя элементы массива и используя только постоянное дополнительное пространство.

Все целые числа в nums отображаются только один раз, за исключением ровно одного целого числа, которое появляется два или более раз.

Примеры:
Ввод: nums = [1,3,4,2,2]
Вывод: 2

Ввод: nums = [3,1,3,4,2]
Вывод: 3

Решение задачи
👍21👎31
Уникальное количество вхождений

Условие задачи:
Дан массив целых чисел 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

Решение задачи
👍261
Сумма минимумов подмассива

Условие задачи:
Дан массив целых чисел 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]]

Решение задачи
👍221
Лучшее время для покупки и продажи акций

Условие задачи:
Вам дан массив 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 = 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]

Решение задачи
👍6🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
Треугольник Паскаля

Сложность задачи: Легкая

Условие задачи:
Дано целое число 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 = [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 = ["eat","tea","tan","ate","nat","bat"]
Вывод: [["bat"],["nat","tan"],["ate","eat","tea"]]

Ввод: strs = [""]
Вывод: [[""]]

Решение задачи
👍15
Удалить N-й узел из конца списка

Получив head связанного списка, удалите n-й узел из конца списка и верните его head.

Пример 1 (на картинке):
Ввод: head = [1,2,3,4,5], n = 2
Вывод: [1,2,3,5]

Пример 2:
Ввод: head = [1], n = 1
Вывод: []

Пример 3:
Input: head = [1,2], n = 1
Output: [1]

Решение задачи
👍12
Минимальная разница во времени

Сложность задачи: Средняя

Условие задачи:
Дан список 24-часовых временных точек в формате "ЧЧ:ММ". Требуется вернуть минимальную разницу в минутах между любыми двумя временными точками в списке.

Пример:
Ввод: timePoints = ["23:59","00:00"]
Вывод: 1

Ввод: timePoints = ["00:00","23:59","00:00"]
Вывод: 0

Решение задачи
👍15
Объединить два отсортированных списка

Вам даны head’ы двух отсортированных связанных списков list1 и list2. Объедините два списка в один отсортированный список. Список должен быть составлен путем соединения узлов первых двух списков. Верните head объединенного связанного списка.

Пример 1 (на картинке):
Ввод: list1 = [1,2,4], list2 = [1,3,4]
Вывод: [1,1,2,3,4,4]

Пример 2:
Ввод: list1 = [], list2 = []
Вывод: []

Пример 3:
Ввод: list1 = [], list2 = [0]
Вывод: [0]

Решение задачи
👍8🤔1
Перестройка строки

Сложность задачи: Средняя

Условие задачи:
Дана строка s. Требуется переставить символы строки s так, чтобы любые два соседних символа не совпадали.
Верните любую возможную перестановку s или верните "", если это невозможно.

Пример:
Ввод: s = "aab"
Вывод: "aba"

Ввод: s = "aaab"
Вывод: ""

Решение задачи
👍10
Первый недостающий положительный результат

Получив несортированный целочисленный массив nums, вернуть наименьшее пропущенное положительное целое число. Вы должны реализовать алгоритм, который работает за время O(n) и использует константное дополнительное пространство.

Ввод: nums = [1,2,0]
Вывод: 3

Ввод: nums = [3,4,-1,1]
Вывод: 2

Ввод: nums = [7,8,9,11,12]
Вывод: 1

Решение задачи
👍5
Конференц-залы II

Сложность задачи: Средняя

Условие задачи:
Дан массив интервалов времени проведения совещаний, intervals, где intervals[i] = [start(i), end(i)]. Найдите минимальное требуемое количество конференц-залов.

Пример:
Ввод: intervals = [[0,30],[5,10],[15,20]]
Вывод: 2

Ввод: intervals = [[7,10],[2,4]]
Вывод: 1

Решение задачи
👍10🤔4
Самая длинная последовательная последовательность

Сложность задачи: Средняя

Условие задачи:
Дан несортированный массив целых чисел nums. Требуется вернуть длину самой длинной последовательности последовательных элементов.

Вы должны написать алгоритм, который работает за время O(n).

Пример:
Ввод: nums = [100,4,200,1,3,2]
Вывод: 4
Объяснение: Самая длинная последовательность последовательных элементов — [1, 2, 3, 4]. Следовательно, его длина равна 4.

Ввод: nums = [0,3,7,2,5,8,4,6,0,1]
Вывод: 9

Решение задачи
👍10
Удали и Заработай

Сложность задачи: Средняя

Условие задачи:
Вам дан целочисленный массив nums. Вы хотите максимизировать количество очков, которые вы получаете, выполняя следующую операцию любое количество раз:

Выберите любое число nums[i] и удалите его, чтобы заработать очки nums[i]. После этого вы должны удалить каждый элемент, равный nums[i] - 1, и каждый элемент, равный nums[i] + 1.
Верните максимальное количество очков, которое вы можете заработать, применив описанную выше операцию несколько раз.

Пример:
Ввод: nums = [3,4,2]
Вывод: 6
Объяснение:
Вы можете выполнять следующие операции:
- Удалите 4, чтобы заработать 4 очка. Следовательно, 3 также удаляется. nums = [2].
- Удалите 2, чтобы заработать 2 очка. nums = [].
Всего вы заработаете 6 баллов.

Ввод: nums = [2,2,3,3,3,4]
Вывод: 9

Решение задачи
👍6
Приветствую всех, на связи админ! Теперь вы можете присылать нам интересующие вас задачки с LeetCode, которые мы будем в порядке живой очереди публиковать на канале. 👍👍👍👍
@LeetCode_suggestion
🎉16👍7