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

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

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

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

№4974320675
Download Telegram
Очередь через стак

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

Условие задачи: необходимо реализовать очередь, используя лишь два стака. Созданная очередь, должна поддерживать все операции, что и обычная (push, peek, pop, empty).

- void push(int x): добавление в конец очереди.
- int pop() удаление верхнего элемента из очереди и возврат его значения.
- int peek() возврат верхнего значения.
- boolean empty() проверка на наличие элементов в очереди.

Пример:

Ввод:
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[ ], [1], [2], [], [ ], [ ] ]
Вывод: [null, null, null, 1, 1, false]
Объяснение:

MyQueue myQueue = new MyQueue();
myQueue.push(1); // очередь: [1]
myQueue.push(2); // очередь: [1, 2]
myQueue.peek(); // return 1
myQueue.pop(); // return 1, очередь [2]
myQueue.empty(); // return false

Решение задачи
👍1
Максимальное число из 6 и 9

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

Условие задачи: дается число, полностью состоящее из 6 и 9. Необходимо вычислить наибольшее число в данной раскладке, при этом имея возможность заменить не более одной шестерки на девятку.

Пример:

Ввод:
num = 9669
Вывод: 9969

Ввод: num = 9996
Вывод: 9999

Решение задачи
👍3
Очередь через стак

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

Условие задачи: необходимо реализовать очередь, используя лишь два стака. Созданная очередь, должна поддерживать все операции, что и обычная (push, peek, pop, empty).

- void push(int x): добавление в конец очереди.
- int pop() удаление верхнего элемента из очереди и возврат его значения.
- int peek() возврат верхнего значения.
- boolean empty() проверка на наличие элементов в очереди.

Пример:

Ввод:
["MyQueue", "push", "push", "peek", "pop", "empty"]
[[ ], [1], [2], [], [ ], [ ] ]
Вывод: [null, null, null, 1, 1, false]
Объяснение:

MyQueue myQueue = new MyQueue();
myQueue.push(1); // очередь: [1]
myQueue.push(2); // очередь: [1, 2]
myQueue.peek(); // return 1
myQueue.pop(); // return 1, очередь [2]
myQueue.empty(); // return false

Решение задачи
2👍1
Максимальное число из 6 и 9

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

Условие задачи: дается число, полностью состоящее из 6 и 9. Необходимо вычислить наибольшее число в данной раскладке, при этом имея возможность заменить не более одной шестерки на девятку.

Пример:

Ввод:
num = 9669
Вывод: 9969

Ввод: num = 9996
Вывод: 9999

Решение задачи
👍1
Середина связного списка

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

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

Пример:

Ввод: head = [1,2,3,4,5]
Вывод: [3,4,5]
Объяснение: серединный узел - узел 3.

Ввод: head = [1,2,3,4,5,6]
Вывод: [4,5,6]
Объяснение: лист имеет два серединных значения: 3 и 4, мы возвращаем второй.

Решение задачи
1👍1
Почему одиночество в соцсетях стало ЭПИДЕМИЕЙ 2025?

Парадокс: тысячи "друзей", но пустота внутри. Лайки не лечат страх упустить важное, а усиливают изоляцию (данные ВОЗ: +58% тревожности ). Алгоритмы показывают "идеальную" жизнь других, убивая самооценку ⚡️  

Выход есть! 👇  
Не удаляйтесь — меняйте фокус:  
 Ищите сообщества по УЗКОМУ интересу — там искренность;  
подробнее читайте в канале 

💡 Спасение — не в отключении, а в перезагрузке цели! 👉 Читать подробнее

Реклама. ИП Теребенин Евгений Валентинович erid:2Vtzqw6oaXa
👎1
Калькулятор II

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

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

Целочисленное деление округляет число в сторону нуля.

Нельзя пользоваться встроенными функциями.

Пример:

Ввод:
s = "3+2*2"
Вывод: 7

Ввод: s = " 3/2 "
Вывод: 1

Решение задачи
👍2
Наикратчайший путь в бинарной матрице

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

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

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

В случае отсутствии подобного пути, вернуть -1.

Пример:

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

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

Решение задачи
👍1👎1
Форматирование

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

Условие задачи: дается номер водительского удостоверения, представленный строкой. Символы в номере могут быть разбиты на n+1 групп. Также дается число k.

Необходимо преобразовать номер в строку по k-символов. Однако лишь первая группа может быть меньше, чем k-символов. Помимо этого все символы нижнего регистра необходимо изменить на верхний регистр.

Пример:

Ввод:
s = "5F3Z-2e-9-w", k = 4
Вывод: "5F3Z-2E9W"
Объяснение:

Ввод:
s = "2-5g-3-J", k = 2
Вывод: s = "2-5g-3-J", k = 2

Решение задачи
👍1
Общая подпоследовательность наибольшей длины

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

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

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

Пример:

Ввод:
text1 = "abcde", text2 = "ace"
Вывод: 3
Объяснение: "ace"

Ввод: text1 = "abc", text2 = "def"
Вывод: 0

Решение задачи
👍1
Заправочная станция

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

Условие задачи: вдоль кольцевого маршрута расположено n заправочных станций, где количество газа на i-й станции равно gas[i].

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

Учитывая два целочисленных массива gas и cost, верните индекс начальной заправочной станции, если вы можете объехать круг один раз по часовой стрелке, в противном случае верните -1. Если существует решение, оно гарантированно будет уникальным

Пример:

Ввод:
gas = [1,2,3,4,5], cost = [3,4,5,1,2]
Вывод: 3

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

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

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

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

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

Учитывая два списка, баллы и возрасты, где каждый балл [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
Наибольший общий делитель строки

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

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

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

Пример:

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

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

Решение задачи
1👍1🔥1
Международная азбука Морзе

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

Условие задачи: международная азбука Морзе определяет стандартную кодировку, в которой каждая буква сопоставляется с серией точек и тире следующим образом:

"a" соответствует ".-",
"b" соответствует "-...",
"c" соответствует "-.-." и так далее.
Для удобства ниже приведена полная таблица для 26 букв английского алфавита:

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
Дан массив строк words, где каждое слово может быть записано как объединение азбуки Морзе каждой буквы.

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

Пример:

Ввод:
words = ["gin","zen","gig","msg"]
Вывод: 2

Объяснение:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."

Ввод:
words = ["a"]
Вывод: 1

Решение задачи
1👍1
Среднее по уровню

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

Условие задачи: дается корень двоичного дерева, верните среднее значение узлов на каждом уровне в виде массива. Будут приняты ответы в пределах 10-5 от фактического ответа.

Пример:

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

Решение задачи
1👍1
Подсчет подостровов

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

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

Острова на второй решетке рассматриваются как подострова только в случае полного соответствия отображения с первой решетки.

Необходимо вычислить количество подостровов на втором поле.

Пример:

Ввод:
grid1 = [[1,1,1,0,0],[0,1,1,1,1],[0,0,0,0,0],[1,0,0,0,0],[1,1,0,1,1]], grid2 = [[1,1,1,0,0],[0,0,1,1,1],[0,1,0,0,0],[1,0,1,1,0],[0,1,0,1,0]]
Вывод:
3
Объяснение:

Ввод:
grid1 = [[1,0,1,0,1],[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1],[1,0,1,0,1]], grid2 = [[0,0,0,0,0],[1,1,1,1,1],[0,1,0,1,0],[0,1,0,1,0],[1,0,0,0,1]]
Вывод:
2

Решение задачи
👍1
Путь минимальной суммы

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

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

Двигаться можно лишь вправо и вниз.

Пример:

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

Решение задачи
👍1
Избыточность соединения

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

Условие задачи: дается ненправленный граф, не имеющий циклов.

Узлы графа соединены между собой и отражаются списком соединения edges[i] = [ai, bi].

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

Необходимо вывести ребро, которое можно удалить без потери информации.

Пример:

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


Решение задачи
👍1
Сводные диапазоны

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

Условие задачи: дается массив из уникальных целых чисел цисел. Срез [a,b] - включает в себя множество значений из данного отрезка включительно.

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

• "a->b" if a != b
• "a" if a == b

Пример:

Ввод:
nums = [0,1,2,4,5,7]
Вывод:
["0->2","4->5","7"]

Объяснение:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"

Ввод:
nums = [0,2,3,4,6,8,9]
Вывод:
["0","2->4","6","8->9"]

Решение задачи
👍2
DeepSeek — самая мощная нейросеть в мире? Честно сравним и разберемся на примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.

⚡️Что ждет вас на вебинаре?

— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.

👉 Регистрируйтесь прямо сейчас
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.

PS: Это первый полноценный практикум от экспертов по DeepSeek. Узнайте и погрузитесь в революционные изменения AI сферы по ссылке.

erid: 2W5zFJph6it
ООО Зерокодер, ИНН 9715401631