面試基礎題系列(二)java 打印 ,楊輝三角


說到楊輝三角問題,讓我想起當初高中上數學課的時候,當時老師只講了一些公式具體的可以參考百度百科-楊輝三角,然後讓我們求其中的某一項,然後,就沒有然後了......

基本性質:一個數等於它肩上兩數之和

1、打印出兩邊的值,即1


其中一行,非常重要,
iArray[i] = new int[i+1];
如果有忘記二位數組的可以看白話C++ 第十七章 數組其中的二維數組的章節
下面是調試出來的結果,看了之後就應該明白了


  public static void main(String[] args) {
        int [][] iArray = new int[10][];
        for(int i=0;i<iArray.length;i++) {
            //行是從0開始 ,否則出現空指針異常
        	//即初始化二維數組的每一行的大小,第一行存儲1個數組,以此類推
           iArray[i] = new int[i+1];
            //從第一行開始 依次給每行加不同的空格
            for(int k=iArray.length-1;k>i;k--){
                System.out.print("  ");
            }
            //控制每行輸出的元素
            for(int j=0;j<=i;j++) {
                if(j==0 || j==i) {
                    //兩邊的值
                    iArray[i][j]=1;
                    System.out.print(iArray[i][j]+"   ");
                }else{
                    //中間的值
                    //iArray[i][j]=iArray[i-1][j]+iArray[i-1][j-1];
                    System.out.print(iArray[i][j]+"   ");
                }
                
            }
            System.out.println();//換行
        } 
    }



2、把0替換成兩肩之和

 }else{
                    //中間的值
                    iArray[i][j]=iArray[i-1][j]+iArray[i-1][j-1];
                    System.out.print(iArray[i][j]+"   ");
                }



最後,擴展閱讀:楊輝三角在路徑問題中的應用,畢竟要學以致用!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章