其他分享
首页 > 其他分享> > LeetCode-118杨辉三角

LeetCode-118杨辉三角

作者:互联网

在这里插入图片描述
我将杨辉三角分成两种情况,一种是只有一层,第二种即普遍情况是多层
》只有一层时,只有一个1
》多层时,每一层的头和尾都是1,主要是在每一层的中间进行处理

中间的数怎么处理?
》观察规律,第n层(从1开始)中间有n-2个数(内部循环次数)
》每层的除头尾的第一个数的值为上一层的第一个数和第二个数相加,第二个数为上一层第二个数和第三个数相加。。。(内部循环计算数值方法)

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> all=new ArrayList();

        List<Integer> firstList=new  ArrayList();
        firstList.add(1);
        all.add(firstList);
        for(int i=2;i<=numRows;i++){
            List<Integer> list=new  ArrayList();
            list.add(1);
            for(int j=2;j<i;j++){
                list.add(all.get(i-2).get(j-2)+all.get(i-2).get(j-1));
            }
            list.add(1);
            all.add(list);
        }
        return all;
    }
}

标签:一层,get,int,List,list,118,add,杨辉三角,LeetCode
来源: https://blog.csdn.net/WA_MC/article/details/120585538