
Описание, условие и объяснение алгоритма решения задачи на YouTube — КЛИК
longestValidParentheses()
— метод для поиска самой длинной последовательности правильных скобочных выражений в строке.stack
типа Integer
. В стеке будут храниться индексы открывающих скобок '('
;max
будет хранить длину самой длинной последовательности;for
перебирает все символы в строке. Если текущий символ — открывающая скобка '('
, то мы добавляем его индекс в stack
. Если текущий символ — закрывающая скобка ')'
, то извлекаем последний индекс из стека, соответствующий последней открытой скобке; stack
не пуст, то считаем разницу между текущим индексом и индексом последней открытой скобки. Если значение этой разницы больше текущего max
, то обновляем max
;stack
пуст, значит скобки до этого были закрыты и не образовали последовательность. В этом случае добавляем индекс текущей закрывающей скобки в stack
;max
.Эта задача на LeetCode (Hard) — КЛИК