括号,卡特蓝数,所有合法序列小米面试

括号,卡特蓝数,所有合法序列小米面试
运行结果如下
5  //测试组数
1
()
1对应的卡特兰个个数为1
2
(())
()()
2对应的卡特兰个个数为2
2
(())
()()
2对应的卡特兰个个数为2
3
((()))
(()())
(())()
()(())
()()()
3对应的卡特兰个个数为5
4
(((())))
((()()))
((())())
((()))()
(()(()))
(()()())
(()())()
(())(())
(())()()
()((()))
()(()())
()(())()
()()(())
()()()()
4对应的卡特兰个个数为14
括号,卡特蓝数,所有合法序列小米面试
括号,卡特蓝数,所有合法序列小米面试
import java.util.Scanner;


public class 括号卡特 {
    static int count=0;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Scanner scn=new Scanner(System.in);
        
        int len=scn.nextInt();
        while(len-->0)
        {
             count=0;
            int temp=scn.nextInt();
            char a[]=new char[2*temp+1];
            fun(2*temp,0,0,a);
            System.out.println(temp+"对应的卡特兰个个数为"+count);
            
            
            
        }

    }
   
    private static void fun(int n,int r,int l,char c[]) {
        if(r>l||r+l>n) return;
        if(r+l==n&&r==n/2&&l==n/2)
        {
            for(int i=0;i<n;i++)
        {
            System.out.print(c[i]);
            
        }
            count++;
            System.out.println();
        }
        c[l+r]=‘(‘;
        fun(n,r,l+1,c);
        c[l+r]=‘)‘;
        fun(n,r+1,l,c);
        
    }

}
括号,卡特蓝数,所有合法序列小米面试

括号,卡特蓝数,所有合法序列小米面试,布布扣,bubuko.com

括号,卡特蓝数,所有合法序列小米面试

上一篇:android menu菜单的动态隐藏


下一篇:【Android】webview javascript 注入方法