Встречается на собеседованиях • сегодня

Как проверить, все ли скобки расположены правильно с точки зрения математических операций в массиве скобок

Для проверки корректности расстановки скобок можно использовать стек. Алгоритм:

  1. Создаем стек и словарь соответствия закрывающих скобок открывающим
  2. Проходим по массиву скобок
  3. Если скобка открывающая - добавляем в стек
  4. Если скобка закрывающая - проверяем, соответствует ли она последней открывающей в стеке
  5. В конце стек должен быть пустым

Пример на JavaScript:

javascript
function isValid(brackets) {
  const stack = [];
  const pairs = { ')': '(', '}': '{', ']': '[' };
  
  for (const bracket of brackets) {
    if (!pairs[bracket]) {
      stack.push(bracket);
    } else if (stack.pop() !== pairs[bracket]) {
      return false;
    }
  }
  
  return stack.length === 0;
}

Примеры:

  • isValid(['(', ')'])true
  • isValid(['(', '[', ']', ')'])true
  • isValid(['(', ']')]false
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы