Leetcode——118楊輝三角

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

在這裏插入圖片描述
在楊輝三角中,每個數數它左上方和右上方的數的和。

示例1:

輸入: 5
輸出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

【思路】

這個題就是根據楊輝三角形的推導過程求出最終的楊輝三角形。
【實現代碼】

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> triangle=new ArrayList<>();
        
        if(numRows==0)
            return triangle;
        
        triangle.add(new ArrayList<>());
        triangle.get(0).add(1);
        
        for(int rowNum=1;rowNum<numRows;rowNum++){
            List<Integer> row=new ArrayList<>();
            List<Integer> preRow=triangle.get(rowNum-1);
            
            row.add(1);
            
            for(int j=1;j<rowNum;j++){
                row.add(preRow.get(j-1)+preRow.get(j));
            }
            
            row.add(1);
            triangle.add(row);
        }
        return triangle;
    }
}

【思考】:
其實也算是動態規劃,因爲記錄了之前的狀態。

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