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;
}
}
【思考】:
其實也算是動態規劃,因爲記錄了之前的狀態。