// 杨辉三角-动态规划
// 输入: numRows = 5
// 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
public static List<List<Integer>> generate(int numRows){
List<List<Integer>> ret=new ArrayList<List<Integer>>();
for (int i = 0; i <numRows ; i++) {
List<Integer> row=new ArrayList<Integer>();
for (int j = 0; j <=i ; j++) {
if(j==0||j==i){
//自底向上
//[i][j]==1
row.add(1);
}else{
//[i][j]=[i-1][j-1]+[i-1][j]
row.add(ret.get(i-1).get(j-1)+ret.get(i-1).get(j));
}
}
ret.add(row);
}
return ret;
}