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

    问题描述:

    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]
    ]

    问题分析:

    第n行的数据是在第n-1行的基础上计算出来的。是一个迭代的过程

    解决方法:

    //生成杨辉三角的前n行
        public static List<List<Integer>> generate(int numRows) {
            List<List<Integer>> list = new ArrayList<List<Integer>>(); //定义list
            if(numRows <= 0) return list;
            List<Integer> row = new ArrayList<Integer>(); //第一行
            row.add(1);
            list.add(row);
            for(int i = 2; i <= numRows; i++){ //生成后面的n-1行数据
                List<Integer> l = new ArrayList<Integer>(); //存储第i行数据
                l.add(1);
                row = new ArrayList<Integer>(list.get(list.size() - 1)) ; //获得上一行数据
                for(int j = 0; j < row.size() - 1; j++){
                    int e = row.get(j) + row.get(j + 1);
                    l.add(e);
                }
                
                l.add(1);
                
                list.add(l);
            }
            return list;
         }
  • 相关阅读:
    Java
    Java
    Java与正则表达式
    Java与UML
    用IKVMC将jar转成dll供c#调用
    日历
    提取多层嵌套Json数据
    微信公众平台获取用户openid
    配置IISExpress允许外部访问
    英文单词学习
  • 原文地址:https://www.cnblogs.com/mydesky2012/p/5162549.html
Copyright © 2011-2022 走看看