美文网首页
118.杨辉三角

118.杨辉三角

作者: youzhihua | 来源:发表于2019-11-18 17:11 被阅读0次

题目描述

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

示例:

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

思路

杨辉三角有以下规律:

  • 第一列和最后一列的值都是1
  • 从第三行开始,第i列的值(除了首尾)都等于上一行的i-1列+i列的和

Java代码实现

    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        List<Integer> cur = null;
        for (int i = 0; i < numRows; i++) {
            cur = new ArrayList<>();
            if(i == 0){
                cur.add(1);
            }
            else{
                cur.add(1);
                List<Integer> last = res.get(i-1);
                for(int j=1;j<i;j++){
                    cur.add(last.get(j)+last.get(j-1));
                }
                cur.add(1);
            }
            res.add(cur);
        }
        return res;
    }

相关文章

网友评论

      本文标题:118.杨辉三角

      本文链接:https://www.haomeiwen.com/subject/pfubictx.html