/*题目:给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 * 示例 1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]*/
import java.util.ArrayList;
import java.util.List;
public class YangHuiSanJiao {
public List<List<Integer>> YangHui(int numRows){
List<List<Integer>> list=new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; i++) {//根据行数进行循环制造当前每一行元素集合w
int h=i+1;//定义每行的容量
List<Integer> w = new ArrayList<Integer>(h);//每一行的容量它的行数
if(i==0) w.add(1);//杨辉三角第一行为1
else {//设置每一行的值
w.add(0,1);//除了第一行,每行的第一个都为1
List<Integer> n=list.get(i-1);//获取当前list的上一行相对应行数的值,用集合接收
for (int j = 0; j < i; j++) {
w.add(j,n.get(j)+n.get(j-1));//当前w[j]=w[j]+w[j-1]
}
w.add(i,1);//除了第一行,每行的最后一个元素都为1
}
list.add(w);//将存放当前行元素的w集合放入list集合中
}
return list;
}
}
题目链接:力扣