題目
問題描述
由1對括號,可以組成一種合法括號序列:()。
由2對括號,可以組成兩種合法括號序列:()()、(())。
由4對括號組成的合法括號序列一共有多少種?
答案提交
這是一道結果填空的題,你只需要算出結果后提交即可。本題的結果為一個整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。
答案
14
題解
手算
這是一個填空題,只需要填寫答案即可。
這里深度為1的序列有一種為:()()()(),
深度為2的有7種:(())()()、()(())()、()()(())、(()()())、(()())()、()(()())、(())(()),
深度為3的有5種:((()))()、()((()))、((())())、(()(()))、((()())),
深度為4的有1種:(((()))),
所以答案為14。
代碼
public class LegalBrackets {
public static int count = 0, n = 4;
public static void main(String[] args) {
f(0, 0);
System.out.println(count);
}
public static void f(int left, int right) {
if (left == n) {
count++;
return;
}
f(left + 1, right);
if (left > right) {
f(left, right + 1);
}
}
}