杨辉三角
首先我们知道杨辉三角的定义:杨辉三角中 每个数是他左上方和右上方数的和,并且每一行的长度
等于行数本身
也就是说 处于第i行的第j个元素 等于第i减一行第j和j-1个元素之和(首尾除外)那归纳一下
我们要实现的就是首尾单独的设元素值为1
每一行根据上一行的结果得出
第一个数组:
List<list<Integer>> answer=new ArrayList<>();
if(numRows <1) return answer;
answer.add(new ArrayList<>());
answer.get(0).add(1);//给这个成员为数组的answer数组的第一个数组添加固定的值1(即第一个输出的数组固定为{1}。
然后是有统一规律的中间数组,注意每个数组的首尾要单独处理
for(int i=0;i<numRows;i++){
ArrayList<Integer> row=new ArrayList<Integer>();
row.add(1);
List<Integer> lastRow=answer.get(i-1);//通过get(i-1)方法得到上一行数组的值
for(int j=1;j<i;j++){
row.add(lastRow.get(j-1)+lastRow.get(j));//一般采用j-1而不是j+1防止数组越界
}
row.add(1);
answer.add(row);
}
接下来把answer返回就完成了