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

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

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

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

№4974320675
Download Telegram
Наибольший общий делитель строки

Сложность: Лёгкая

Условие задачи: для двух строк s и t мы говорим "t делит s" тогда и только тогда, когда s = t + ... + t (т.е. t объединяется с самим собой один или несколько раз).

Дается две строки str1 и str2, верните самую большую строку x, такую, что x делит как str1, так и str2.

Пример:

Ввод:
str1 = "ABCABC", str2 = "ABC"
Вывод: "ABC"

Ввод: str1 = "ABABAB", str2 = "ABAB"
Вывод: "AB"

Решение задачи
👍8
Пацифисты

Сложность: Средняя

Условие задачи: вы менеджер баскетбольной команды. Для предстоящего турнира вы хотите выбрать команду с наибольшим общим счетом. Счет команды - это сумма очков всех игроков в команде.

Однако баскетбольной команде не разрешается иметь конфликтов. Конфликт возникает, если у младшего игрока строго более высокий балл, чем у старшего игрока. Конфликт не возникает между игроками одного возраста.

Учитывая два списка, баллы и возрасты, где каждый балл [i] и возраст [i] представляют счет и возраст i-го игрока соответственно, возвращают наивысший общий балл всех возможных баскетбольных команд.

Пример:

Ввод:
scores = [1,3,5,10,15], ages = [1,2,3,4,5]
Вывод: 34

Ввод: scores = [4,5,6,5], ages = [2,1,2,1]
Вывод: 16

Решение задачи
👍2
Площадь прямоугольников

Сложность: Средняя

Условие задачи: на вход подаются координаты двух прямоугольников (левый нижний угол, а также правый верхний угол).

Необходимо вычислить суммарную площадь, занимаемую двумя прямоугольниками.

Пример:

Ввод:
ax1 = -3, ay1 = 0, ax2 = 3, ay2 = 4, bx1 = 0, by1 = -1, bx2 = 9, by2 = 2
Вывод:
45

Решение задачи
👍2
Чужой язык

Сложность: Лёгкая

Условие задачи: на чужом языке они также используют английские строчные буквы, но, возможно, в другом порядке. Порядок алфавита - это некоторая перестановка строчных букв.

Учитывая последовательность слов, написанных на чужом языке, и порядок алфавита, верните значение true тогда и только тогда, когда данные слова отсортированы лексикографически на этом чужом языке.

Пример:

Ввод:
words = ["hello","leetcode"], order = "hlabcdefgijkmnopqrstuvwxyz"
Вывод: true
Объяснение:

Ввод:
words = ["word","world","row"], order = "worldabcefghijkmnpqstuvxyz"
Вывод: false

Решение задачи
👍41
Нахождение индекс первого вхождения в строку

Сложность: Средняя

Условие задачи: дается две строки needle и haystack, верните индекс первого появления иглы в стоге сена или -1, если игла не является частью стога сена.

Пример:

Ввод:
haystack = "sadbutsad", needle = "sad"
Вывод: 0

Ввод: haystack = "leetcode", needle = "leeto"
Вывод: -1

Решение задачи
👍1
Треугольник наибольшей площади

Сложность: Лёгкая

Условие задачи: дается массив точек на плоскости X-Y, где точки [i] = [xi, yi], верните площадь самого большого треугольника, который может быть образован любыми тремя различными точками. Будут приняты ответы в пределах 10-5 от фактического ответа.

Пример:

Ввод:
points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
Вывод: 2.00000
Объяснение:

Ввод:
points = [[1,0],[0,0],[0,1]]
Вывод: 0.50000

Решение задачи
👍3
Наиболее частое слово

Сложность: Лёгкая

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

Слова в абзаце не учитывают регистр, и ответ должен быть возвращен в нижнем регистре.

Пример:

Ввод:
paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"]
Вывод: "ball"

Ввод: paragraph = "a.", banned = []
Вывод: "a"

Решение задачи
👍7
Pow(x, n)

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

Условие задачи:
Реализуйте функцию pow(x, n), которая вычисляет x в степени n (т. е. x^n).

Пример:
Ввод: x = 2.00000, n = 10
Вывод: 1024.00000

Ввод: x = 2.10000, n = 3
Вывод: 9.26100

Диапазон данных:
-100.0 < x < 100.0
-231 <= n <= 231-1
-104 <= x^n <= 104

Решение задачи
👍4👎2
То же дерево

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

Условие:
Получив корни двух бинарных деревьев p и q, напишите функцию, проверяющую, совпадают ли они.

Два бинарных дерева считаются одинаковыми, если они структурно идентичны, а узлы имеют одинаковое значение.

Примеры (картинки по порядку):
Ввод: p = [1,2,3], q = [1,2,3]
Вывод: true

Ввод: p = [1,2], q = [1,null,2]
Вывод: false

Ввод: p = [1,2,1], q = [1,1,2]
Вывод: false

Ограничения:
Количество узлов в обоих деревьях находится в диапазоне [0, 100].

Решение задачи
👍2
Балансировка бинарного дерева

Сложность: Лёгкая

Условие задачи: дается бинарное дерево, определите является ли дерево сбалансированным.

Для данной проблемы сбалансированным по высоте деревом является бинарное дерево, у которого для каждого родителя есть оба потомка, если потомки вообще имеются.

Пример:

Ввод:
root = [3,9,20,null,null,15,7]
Вывод:
true

Ввод:
root = [1,2,2,3,3,null,null,4,4]
Вывод:
true

Решение задачи
👍3👎1
Инвертировать бинарное дерево

Сложность: Лёгкая

Условие задачи: дается корень двоичного дерева, инвертируйте дерево и верните его корень.

Пример:

Ввод:
root = [4,2,7,1,3,6,9]
Вывод:
[4,7,2,9,6,3,1]
Объяснение:
*во вложении

Решение задачи
👍9
Позиция для вставки

Сложность: Лёгкая

Условие задачи: дается отсортированный массив различных целых чисел и целевое значение, верните индекс, если целевое значение найдено. Если нет, верните индекс туда, где он был бы, если бы он был вставлен по порядку.

Вы должны написать алгоритм с O(log n) сложностью во время выполнения.

Пример:

Ввод:
nums = [1,3,5,6], target = 5
Вывод: 2

Ввод:nums = [1,3,5,6], target = 2
Вывод: 1

Решение задачи
👍6
Возможность Отправки Посылок В Течение D Дней

Сложность: Средняя

Условие задачи: на конвейерной ленте есть посылки, которые должны быть отправлены из одного порта в другой в течение нескольких дней.

i-я упаковка на конвейерной ленте имеет вес гирь[i]. Каждый день мы загружаем судно упаковками на конвейерную ленту (в порядке, указанном по весу). Мы не можем загружать больше груза, чем максимальная грузоподъемность судна.

Возвращайте наименьшую грузоподъемность судна, что приведет к отправке всех упаковок на конвейерной ленте в течение нескольких дней.

Пример:

Ввод:
weights = [1,2,3,4,5,6,7,8,9,10], days = 5
Вывод: 15

Ввод:weights = [3,2,2,4,1,4], days = 3
Вывод: 6

Решение задачи
👍41🔥1
Поиск мажоритарного элемента

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

Мажоритарный элемент - это элемент, который появляется более n / 2 раз. Вы можете быть уверены, что мажоритарный элемент всегда существует в массиве.

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

Ввод: nums = [8, 8, 6, 6, 6, 8, 8]
Вывод: 8

Решение задачи
👍2
Минимизация отклонения

Сложность: Тяжёлая

Условие задачи: дается массив nums из n натуральных чисел.

Вы можете выполнять два типа операций над любым элементом массива любое количество раз:

Если элемент четный, разделите его на 2.
Например, если массив равен [1,2,3,4], то вы можете выполнить эту операцию над последним элементом, и массив будет [1,2,3,2].
Если элемент нечетный, умножьте его на 2.
Например, если массив равен [1,2,3,4], то вы можете выполнить эту операцию над первым элементом, и массив будет равен [2,2,3,4].
Отклонение массива - это максимальная разница между любыми двумя элементами в массиве.

Верните минимальное отклонение, которое может иметь массив после выполнения некоторого количества операций.

Пример:

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

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

Решение задачи
👍13
Создание четырехугольного дерева

Сложность: Средняя

Условие задачи: дана матричная сетка n * n, состоящая только из 0 и 1. Мы хотим представить сетку в виде четырехъядерного дерева.

Возвращает корень квадродерева, представляющего сетку.

Обратите внимание, что вы можете присвоить значению узла значение True или False, когда isLeaf имеет значение False, и оба значения принимаются в ответе.

Квадродерево - это древовидная структура данных, в которой каждый внутренний узел имеет ровно четыре дочерних элемента. Кроме того, каждый узел имеет два атрибута.
Выполните рекурсию для каждого из дочерних элементов с соответствующей подсеткой.

Пример:

Ввод:
grid = [[0,1],[1,0]]
Вывод: [[0,1],[1,0],[1,1],[1,1],[1,0]]

Решение задачи
👍6
Поиск дубликата поддерева

Сложность: Средняя

Условие задачи: дается корень двоичного дерева, верните все повторяющиеся поддеревья.

Для каждого вида повторяющихся поддеревьев вам нужно только вернуть корневой узел любого из них.

Два дерева дублируются, если они имеют одинаковую структуру с одинаковыми значениями узлов.

Пример:

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

Решение задачи
👍5
Треугольник максимальной площади

Сложность: Лёгкая

Условие задачи: дается массив точек на плоскости X-Y, где точки [i] = [xi, yi], верните площадь самого большого треугольника, который может быть образован любыми тремя различными точками. Будут приняты ответы в пределах 10-5 от фактического ответа.

Пример:

Ввод:
points = [[0,0],[0,1],[1,0],[0,2],[2,0]]
Вывод: 2.00000

Решение задачи
👍7