Java Algorithms
111 subscribers
625 photos
623 links
Добро пожаловать💡

Канал для всех, кто ищет качественные решения и объяснения задач на Java

Roadmap по каналу:
https://t.me/algoroadmap/2
Download Telegram
🟢Easy
1047. Remove All Adjacent Duplicates In String

Company: 🏢🔍📱

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

Верните окончательную строку после всех удалений

💡: сравнивайте текущий символ с верхним в стеке

#leetcode1047 | #easy #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🟢Easy
1475. Final Prices With a Special Discount in a Shop

Company: 🔍📱🏢

📝Дан целочисленный массив prices, где prices[i] — цена товара в магазине.

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

Верните массив result, где result[i] — окончательная цена, которую вы заплатите за товар в магазине с учетом специальной скидки

💡: поддерживайте в стеке индексы элементов, для которых пока не найдена скидка

#leetcode1475 | #easy #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🟡Medium
227. Basic Calculator II

Company: 🏢📱🚀

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

💡: вычисляйте промежуточные значения, используя предыдущую операцию, и складывайте их в стек

#leetcode227 | #medium #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🟡Medium
1209. Remove All Adjacent Duplicates in String II

Company: 🏢📱📱

📝Дана строка s и целое число k. Удаляйте из строки группы из k одинаковых подряд идущих символов, пока это возможно.

Верните итоговую строку после всех удалений

💡: храните в стеке количество подряд идущих одинаковых символов

#leetcode1209 | #medium #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🟡Medium
1673. Find the Most Competitive Subsequence

Company: 🔍🚖

📝Дан массив целых чисел nums и положительное целое число k, вернуть наиболее конкурентоспособную подпоследовательность nums размера k.

Подпоследовательность A более конкурентоспособна, чем подпоследовательность B, если в первой позиции, где A и B различаются, подпоследовательность A имеет меньшее число.

Например, [1, 3, 4] более конкурентоспособна, чем [1, 3, 5]

💡: поддерживайте монотонный стек с минимальными числами в начале

#leetcode1673 | #medium #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🟡Medium
456. 132 Pattern

Company: 📱🏢🅰️

📝Дан массив целых чисел nums. Шаблон 132 представляет собой подпоследовательность из трех целых чисел nums[i], nums[j], nums[k], где i < j < k и nums[i] < nums[k] < nums[j]

Верните true, если в массиве есть шаблон 132

💡: для поиска элементов j и k используйте монотонный стек, а для элемента i подготовьте массив минимумов

#leetcode456 | #medium #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴Hard
1106. Parsing A Boolean Expression

Company: 📱🔍🏢

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

Выражение состоит из:
't' — true
'f' — false
'!(subExpr)' — логическое НЕ внутреннего выражения subExpr
'&(subExpr1, subExpr2, ...)' — логическое И внутренних выражений
'|(subExpr1, subExpr2, ...)' — логическое ИЛИ внутренних выражений

💡: складывайте в стек операторы и булевые значения, а при встрече ')' сразу обрабатывайте подвыражение

#leetcode1106 | #hard #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴Hard
1944. Number of Visible People in a Queue

Company: 🔍📱🏢

📝Вам дан массив heights различных целых чисел, где heights[i] представляет собой рост человека, стоящего на позиции i.

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

Верните массив result, где result[i] — количество людей, которых человек на позиции i может видеть справа от себя

💡: заполняйте стек с конца, поддерживая убывающий порядок

#leetcode1944 | #hard #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴Hard
768. Max Chunks To Make Sorted II

Company: 📱📱🔍

📝Дан массив целых чисел.

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

Найдите максимальное количество таких фрагментов, при котором выполняется условие

💡: храните в стеке максимумы предыдущих фрагментов, а максимум для текущего храните в переменной

#leetcode768 | #hard #stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴Hard
224. Basic Calculator

Company: 🏢🚖🖼

📝Дана строка s, представляющее выражение, состоящее из цифр и символов '+', '-', '(', ')', ' '.

Верните результат выражения

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

#leetcode224 | #hard #stack
Please open Telegram to view this post
VIEW IN TELEGRAM