1. 程式人生 > 其它 >力扣---楊輝三角(用線性表實現)

力扣---楊輝三角(用線性表實現)

技術標籤:javajava楊輝三角函式

java–楊輝三角(用線性表實現)

題目:給定一個非負整數 numRows,生成楊輝三角的前 numRows 行。

標題在楊輝三角中,每個數是它左上方和右上方的數的和。

在這裡插入圖片描述

 class Solution {
        public List<List<Integer>> generate(int numRows) {
        //將楊輝三角看作一個list,每一行也是一個list
            List<List<Integer>> ret = new ArrayList<
>(); if(numRows <= 0) {return ret;} //第一行的list List<Integer> list = new ArrayList<>(); list.add(1); //把第一行的list放到ret當中 ret.add(list); for(int i = 1;i < numRows;i++) { //將每一行看作一個list List<
Integer>
curRow = new ArrayList<>(); curRow.add(1); for(int j = 1 ; j < i ;j++) { //確定的是當前行的每個元素==上一行的當前列+上一行的前一列就是我當前需要新增的數字 //得到上一行 List<Integer> preRow = ret.get(i-1); int num = preRow.get(
j) + preRow.get(j-1); curRow.add(num); } //手動在當前行的最後一個位置 新增一個1 curRow.add(1); ret.add(curRow); } return ret; } }

總結:
用線性表來實現楊輝三角,將楊輝三角看作一個list,每一行也是一個list。其次可以發現每行第一個和最後一個數的值都為1。難點在於怎麼獲得上一行的當前列與前一列。