TGViewer
JavaScript | LeetCode JavaScript | LeetCode @easy_frontend_task · 8.31K subscribers
Post #2015 561
Задача: №22. Generate Parentheses
Сложность: medium

Дано число n.
Нужно сгенерировать все возможные комбинации n пар правильных скобок.

Пример:
Input: n = 3  
Output: ["((()))","(()())","(())()","()(())","()()()"]


👨‍💻 Алгоритм:

1️⃣ Используем DFS с тремя параметрами:
- l — количество открывающих скобок
- r — количество закрывающих
- t — текущая строка

2️⃣ Прерываем рекурсию, если:
- l > n, r > n или l < r — комбинация недопустима

3️⃣ Если l === n && r === n, добавляем строку в результат.
Иначе:
- Добавляем '(', вызываем dfs(l + 1, r, t + '(')
- Добавляем ')', вызываем dfs(l, r + 1, t + ')'

😎 Решение:
var generateParenthesis = function (n) {
const ans = [];

function dfs(l, r, t) {
if (l > n || r > n || l < r) return;

if (l === n && r === n) {
ans.push(t);
return;
}

dfs(l + 1, r, t + '(');
dfs(l, r + 1, t + ')');
}

dfs(0, 0, '');
return ans;
};


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_frontend_task
  1. Oct 14, 2026Post #2575
  2. Oct 13, 2026Задача: 687. Longest Univalue Path Сложность: medium Дано корень бинарного дерева, верните…
  3. Oct 11, 2026Задача: 651. 4 Keys Keyboard Сложность: medium Представьте, что у вас есть специальная кла…
  4. Oct 9, 2026Задача: 1054. Distant Barcodes Сложность: medium На складе имеется ряд штрих-кодов, где i-…
  5. Oct 9, 2026Задача: 1237. Find Positive Integer Solution for a Given Equation Сложность: medium Если д…
  6. Oct 8, 2026Задача: №19. Remove Nth Node From End of List Сложность: medium Дан связанный список и чис…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →