/**
* 给出一个值numRows,生成杨辉三角的前numRows行
* 例如,给出 numRows = 5,
* 返回
* [↵ [1],↵ [1,1],↵ [1,2,1],↵ [1,3,3,1],↵ [1,4,6,4,1]↵]
*/
import java.util.ArrayList;
/**
* 给出一个值numRows,生成杨辉三角的前numRows行
* 例如,给出 numRows = 5,
* 返回
* [↵ [1],↵ [1,1],↵ [1,2,1],↵ [1,3,3,1],↵ [1,4,6,4,1]↵]
*/
public class Main51 {
public static void main(String[] args) {
System.out.println(Main51.generate(5));
}
public static ArrayList<ArrayList<Integer>> generate(int numRows) {
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
ArrayList<Integer> last = new ArrayList<>();
if (numRows == 0) {
return list;
}
for (int i=0;i<numRows;i++) {
ArrayList<Integer> array = new ArrayList<>();
if (i > 1) {
last = list.get(i-1);
}
for (int j=0;j<=i;j++) {
if (j==0 || j==i) {
array.add(1);
}else{
array.add(last.get(j-1)+last.get(j));
}
}
list.add(array);
}
return list;
}
}