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

题目大意

  给定一个正整数n,求n层帕斯卡三角形(也称杨辉三角形)。 

解题思路

  对任意的n>0有 
  f(1, n)=1,(n>0) 
  f(n, n)=1,(n>2) 
  f(i,j) = f(i-1, j-1)+f(i, j-1),i>2,j>2 

 1     public List<List<Integer>> generate(int numRows) {
 2         List<List<Integer>> allrows = new ArrayList<List<Integer>>();
 3         ArrayList<Integer> row = new ArrayList<Integer>();
 4        for (int i=0;i<numRows;i++)
 5        {
 6            row.add(0,1); //在第一个位置添加1
 7            for (int j=1;j<row.size()-1;j++)
 8            {
 9                row.set(j,row.get(j) + row.get(j+1));
10            }
11            allrows.add(new ArrayList<>(row));
12        }
13         return allrows;        
14     }
 
原文地址:https://www.cnblogs.com/wzj4858/p/7668465.html