日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

詳細易懂注解,二維數組楊輝三角的實現,算法入門

作者:自律的召喚師 更新時間: 2021-12-19 編程語言

直接上代碼:

public class compute19 {

    public static void main(String[] args) {

        //既然你要用二維數組寫出一個三角形,那么你一定要知道怎么分配這個二維數組
        //定義楊輝三角的行數
        int triangle = 10;
        int [] [] nums = new int[triangle + 1][];
        //遍歷行數
        for (int i = 0; i <= triangle; i++) {
            //既然是二維數組,那么如何讓它成三角形
            //大家知道二維數組,就是多個數組,也就是說你可以每遍歷完一行數組,下一行的數組+1
            nums[i] = new int[i + 1];
        }
        //三角形已經搭好,剩下就是填充也就是遍歷三角形里面的數字規律,先寫一個正常的二維數組for循環
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums[i].length; j++) {
                //我們可以通過特征來添加一些簡單的判斷條件來減少不必要的循環遍歷,比如楊輝三角兩邊全是1,我們可以這么判斷
                //讓每一行數組的首個和末個數組都=1
                if (j == 0 || j == nums[i].length -1){
                    nums[i][j] = 1;
                }else {
                    //剩余部分則按照規律,指針為1的值,是上一層指針的0+1的值,指針為2的值,是上一層指針的1+2值,指針為3的值,就等于上一層指針2+3的值,以此類推...
                    //第n層就是n[i]=n-1[i-1] + n-1[i]
                    nums[i][j] = nums [i - 1] [j - 1] + nums [i - 1] [j];
                }
            }
        }
        //輸出結果
        for (int i = 0; i < nums.length; i++) {
            for (int j = 0; j < nums[i].length; j++) {
                System.out.print(nums[i][j] + " ");
            }
            System.out.println();
        }
    }
}

?講解都在注解里。

輸出結果:

?

?

原文鏈接:https://blog.csdn.net/weixin_53456597/article/details/122105850

欄目分類
最近更新