Дано n пар скобок. Напишите функцию, которая генерирует все возможные комбинации правильных скобочных последовательностей.
Необходимо написать функцию generate_parentheses(n: int) -> List[str], которая будет принимать на вход целое число n - количество пар скобок, и возвращать список строк - все возможные правильные скобочные последовательности.
Правильная скобочная последовательность - это последовательность скобок, которая удовлетворяет следующим условиям:
Например, для n=3 возможны следующие правильные скобочные последовательности:
result для хранения всех возможных комбинаций скобок.generate(curr, left, right), которая принимает три аргумента: curr - текущая скобочная последовательность, left - количество оставшихся открывающих скобок, right - количество оставшихся закрывающих скобок.left и right равны 0, то добавляем текущую скобочную последовательность curr в список result.left больше 0, то рекурсивно вызываем функцию generate с добавлением открывающей скобки ( в текущую последовательность curr и уменьшением значения left на 1.right больше 0 и right больше left, то рекурсивно вызываем функцию generate с добавлением закрывающей скобки ) в текущую последовательность curr и уменьшением значения right на 1.