Ctrl K

Самый длинный сбалансированный отрезок скобок

Сложная
Дана строка brackets, состоящая только из символов ( и ). Скобочная запись *сбалансирована*, если каждой открывающей скобке соответствует закрывающая правее неё и пары не перекрещиваются: например, (())() сбалансирована, а )( и (() — нет. Найдите длину самого длинного сбалансированного отрезка (подряд идущих символов) строки brackets. Если такого непустого отрезка нет, верните 0.
Пример 1
brackets=")(()())(" → 6

Отрезок (()()) с позиции 1 по 6 сбалансирован, его длина 6. Крайние скобки к нему не присоединить.

Пример 2
brackets="()(()" → 2

Сбалансированы () в начале и () в конце, но склеить их через лишнюю ( нельзя, поэтому ответ 2.

Пример 3
brackets=")))" → 0

Здесь только закрывающие скобки — сбалансированного непустого отрезка нет.

Ограничения
  • 0 ≤ len(brackets) ≤ 3 · 10⁴
  • каждый символ brackets — ( или )
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРасчистить ряд шариков СложнаяПереключить выход схемы СложнаяПроверка контрольной по арифметике СложнаяСкобки со звёздочками СредняяСначала a, потом b: меньше всего удалений Средняя
загружаем Python…
Вход
brackets=")(()())("
Ожидается
6

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 136 тестов на сервере, включая скрытые.