РАЗРАБОТКА

Разработчики решают: сколько скобок нужно добавить для валидности строк

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

✍️ Редакция iTech News | 09.03.2026 | ⏱ 1 мин | Источник: DEV Community
Как программисты решают задачу о валидных скобках в программировании

В программировании часто возникает вопрос о том, сколько скобок необходимо добавить в строку, чтобы она стала валидной. Эта задача, известная как «Минимальные добавления для корректности скобок», также появляется на собеседованиях, помогая оценить знания кандидатов.

Что значит валидная строка

Корректная строка с скобками должна удовлетворять двум условиям:

  • Каждая открывающая скобка ( должна иметь соответствующую закрывающую );
  • При последовательном чтении слева направо не должно быть больше закрывающих, чем открывающих скобок.

Например, строки () и (())() считаются валидными, а (() и ())( — нет.

Как решается задача в программировании

Решение задачи сводится к простой проверке строки. Для этого используются две переменные:

  • open_needed: количество неподходящих открывающих скобок;
  • additions: количество добавляемых скобок.

Поэтапная проверка строк включает следующие шаги:

  1. Если встречается открывающая скобка ( — увеличьте open_needed;
  2. Если встречается закрывающая скобка ):
    • Если open_needed больше 0, уменьшите его на 1;
    • Если open_needed равно 0, увеличьте additions, так как это ‘избыточная’ закрывающая скобка.

Ответ будет равен additions + open_needed.

Почему это важно для программистов

Эта задача помогает разработчикам управлять балансом и работать с алгоритмами. Интервьюеры ценят способность сохранять баланс и обработать крайние случаи. Эффективность решения: время выполнения O(n) и использование O(1) дополнительной памяти. Для программистов в России такая задача становится частью подготовки к собеседованиям и формирования алгоритмического мышления.

Изучайте другие популярные задачи для дальнейшего укрепления своих навыков программирования.

Поделиться: Telegram X LinkedIn