美文网首页
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