zoukankan      html  css  js  c++  java
  • 118. Pascal's Triangle

    Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.


    In Pascal's triangle, each number is the sum of the two numbers directly above it.

    Example:

    Input: 5
    Output:
    [
         [1],
        [1,1],
       [1,2,1],
      [1,3,3,1],
     [1,4,6,4,1]
    ]

    按照规律brute force

    时间:O(N^2),空间:O(N^2)  -- N : numRows

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> res = new ArrayList<>();
            if(numRows == 0) return res;
            
            res.add(new ArrayList<>());
            res.get(0).add(1);
            for(int i = 1; i < numRows; i++) {
                List<Integer> tmp = new ArrayList<>();
                tmp.add(1);
                for(int j = 0; j + 1 < i; j++) {
                    tmp.add(res.get(i - 1).get(j) + res.get(i - 1).get(j + 1));
                }
                tmp.add(1);
                res.add(tmp);
            }
            return res;
        }
    }
  • 相关阅读:
    页面定制CSS代码
    记录-20190511
    Java集合
    EL表达式
    javabean
    写一篇博文介绍JSP
    编写一篇博文介绍COOKIE和Session的原理及异同
    过滤器的使用
    Java种的String
    Java包装类
  • 原文地址:https://www.cnblogs.com/fatttcat/p/10054249.html
Copyright © 2011-2022 走看看