zoukankan      html  css  js  c++  java
  • 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的~

  • 相关阅读:
    python之基础2
    python之文件2
    python之入门2
    python之入门
    python之多并发2
    python之面向对象2
    python之MySQL系列
    python之文件
    python之多并发
    Google身份验证器详解
  • 原文地址:https://www.cnblogs.com/mrpod2g/p/4251382.html
Copyright © 2011-2022 走看看