zoukankan      html  css  js  c++  java
  • pascals-triangle

    /**
    * 给出一个值numRows,生成杨辉三角的前numRows行
    * 例如,给出 numRows = 5,
    * 返回
    * [↵ [1],↵ [1,1],↵ [1,2,1],↵ [1,3,3,1],↵ [1,4,6,4,1]↵]
    */

    import java.util.ArrayList;
    
    /**
     * 给出一个值numRows,生成杨辉三角的前numRows行
     * 例如,给出 numRows = 5,
     * 返回
     *      [↵     [1],↵    [1,1],↵   [1,2,1],↵  [1,3,3,1],↵ [1,4,6,4,1]↵]
     */
    
    public class Main51 {
        public static void main(String[] args) {
            System.out.println(Main51.generate(5));
        }
    
        public static ArrayList<ArrayList<Integer>> generate(int numRows) {
    
            ArrayList<ArrayList<Integer>> list = new ArrayList<>();
            ArrayList<Integer> last = new ArrayList<>();
            if (numRows == 0) {
                return list;
            }
    
            for (int i=0;i<numRows;i++) {
                ArrayList<Integer> array = new ArrayList<>();
                if (i > 1) {
                    last = list.get(i-1);
                }
    
                for (int j=0;j<=i;j++) {
                    if (j==0 || j==i) {
                        array.add(1);
                    }else{
                        array.add(last.get(j-1)+last.get(j));
                    }
                }
                list.add(array);
            }
            return list;
        }
    }
    

      

  • 相关阅读:
    二叉排序树
    安全的终止线程的两种方法
    图的广度优先遍历(BFS)
    图的深度优先遍历(DFS)
    volatile的应用
    二叉树的遍历
    Java-反射
    Java--泛型
    单例模式
    剑指Offer--对称二叉树
  • 原文地址:https://www.cnblogs.com/strive-19970713/p/11352104.html
Copyright © 2011-2022 走看看