leetcode118题目:
给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
思路:
题目采用动态规划来做
代码如下:
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> res=new ArrayList<>();
List<Integer> list=new ArrayList<>();
for(int i=0;i<numRows.length;i++){
list.add(0,1);
for(int j=1;j<list.size()-1;j++){
list.set(j,list.get(j)+list.get(j+1));
}
res.add(new ArrayList<Integer>(list));
}
return res;
}
}
leetcode119代码如下:
class Solution {
public List<Integer> getRow(int rowIndex) {
List<Integer> res=new ArrayList<>();
for(int i=0;i<rowIndex+1;i++){
res.add(0,1);
for(int j=1;j<res.size()-1;j++){
res.set(j,res.get(j)+res.get(j+1));
}
}
return res;
}
}