美文网首页ACM题库~
LeetCode 118. Pascal's Trian

LeetCode 118. Pascal's Trian

作者: 关玮琳linSir | 来源:发表于2017-10-08 00:49 被阅读4次

    Given numRows, generate the first numRows of Pascal's triangle.

    For example, given numRows = 5,
    Return

    [
         [1],
        [1,1],
       [1,2,1],
      [1,3,3,1],
     [1,4,6,4,1]
    ]
    

    题意:著名的杨辉三角形,解题思路比较巧妙,每一行都比上一行多一个数字,开始和末尾都是1,我们只需要动态的改变中间的内容就可以,很巧妙的代码~

    java代码:

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> pascal = new ArrayList<List<Integer>>();
            ArrayList<Integer> row = new ArrayList<Integer>();
            for (int i = 0; i < numRows; i++) {
                row.add(0, 1);
                for (int j = 1; j < row.size() - 1; j++)
                    row.set(j, row.get(j) + row.get(j + 1));
                pascal.add(new ArrayList<Integer>(row));
            }
            return pascal;
        }
    }
    

    相关文章

      网友评论

        本文标题:LeetCode 118. Pascal's Trian

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