📌 Решение задачи c собеседования в Google



Описание, условие и объяснение алгоритма решения задачи на YouTubeКЛИК



longestValidParentheses() — метод для поиска самой длинной последовательности правильных скобочных выражений в строке.



Сначала создается stack типа Integer. В стеке будут храниться индексы открывающих скобок '(';



Переменная max будет хранить длину самой длинной последовательности;



Цикл for перебирает все символы в строке. Если текущий символ — открывающая скобка '(', то мы добавляем его индекс в stack. Если текущий символ — закрывающая скобка ')', то извлекаем последний индекс из стека, соответствующий последней открытой скобке;



Проверяем, если stack не пуст, то считаем разницу между текущим индексом и индексом последней открытой скобки. Если значение этой разницы больше текущего max, то обновляем max;



Если stack пуст, значит скобки до этого были закрыты и не образовали последовательность. В этом случае добавляем индекс текущей закрывающей скобки в stack;



После окончания цикла возвращаем max.



Эта задача на LeetCode (Hard) — КЛИК



➡️ Java Developer