• Pascal's Triangle


    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 public class Solution {
     2     public List<List<Integer>> generate(int numRows) {
     3         List<List<Integer>>triangle_list = new ArrayList<List<Integer>>();
     4         //初始化第一和第二行
     5         List<Integer>list1 = new ArrayList<Integer>();
     6         List<Integer>list2 = new ArrayList<Integer>();
     7         list1.add(1);
     8         list2.add(1);
     9         list2.add(1);
    10         
    11         //分情况讨论
    12         if(numRows==1){
    13             triangle_list.add(list1);
    14         }
    15         
    16         if(numRows==2){
    17             triangle_list.add(list1);
    18             triangle_list.add(list2);
    19         }
    20         
    21         if(numRows>2){
    22              triangle_list.add(list1);
    23              triangle_list.add(list2);
    24              for(int i=2;i<numRows;i++){//i是行标对应外层list下标
    25                  List<Integer>list3 = triangle_list.get(i-1);
    26                  List<Integer>list4 = new ArrayList<Integer>();
    27                  list4.add(1);
    28                  for(int j=1;j<=i-1;j++){//根据杨辉三角用上一行list3来计算当前行list4
    29                      list4.add(list3.get(j-1)+list3.get(j));
    30                  }
    31                  list4.add(1);
    32                  triangle_list.add(list4);
    33              }
    34         }
    35         
    36         
    37         return triangle_list;
    38     }
    39 }

    根据杨辉三角来计算,还是比较easy的~

  • 相关阅读:
    MFC中char*,string和CString之间的转换(待补充)
    Gem/Bundle/Rvm
    Ruby开发入门
    Maven原型骨架及常见问题
    Nginx Upstream模块源码分析(上)
    mysqldump的几个主要选项探究
    探索Antlr(Antlr 3.0更新版)
    Maven2插件开发入门
    说说家乡的互联网-沈阳
    Nginx模块之SessionSticky
  • 原文地址:https://www.cnblogs.com/mrpod2g/p/4251382.html
Copyright © 2020-2023  润新知