题目链接
解题思路
在杨辉三角中,每个数是它左上方和右上方的数的和 除了最两侧都是1
外,如下动图所示
AC代码
class Solution {
public List< List< Integer> > generate ( int numRows) {
List< List< Integer> > ans = new ArrayList < List< Integer> > ( ) ;
for ( int i = 0 ; i < numRows; i++ ) {
List< Integer> row = new ArrayList < > ( ) ;
for ( int j = 0 ; j <= i; j++ ) {
if ( j == 0 || j == i)
row. add ( 1 ) ;
else
row. add ( ans. get ( i - 1 ) . get ( j - 1 ) + ans. get ( i - 1 ) . get ( j) ) ;
}
ans. add ( row) ;
}
return ans;
}
}
本地测试代码
package com. company;
import java. util. ArrayList;
import java. util. List;
public class Solution_118 {
public static List< List< Integer> > generate ( int numRows) {
List< List< Integer> > ans = new ArrayList < List< Integer> > ( ) ;
for ( int i = 0 ; i < numRows; i++ ) {
List< Integer> row = new ArrayList < > ( ) ;
for ( int j = 0 ; j <= i; j++ ) {
if ( j == 0 || j == i)
row. add ( 1 ) ;
else
row. add ( ans. get ( i - 1 ) . get ( j - 1 ) + ans. get ( i - 1 ) . get ( j) ) ;
}
ans. add ( row) ;
}
return ans;
}
public static void main ( String[ ] args) {
System. out. println ( generate ( 5 ) ) ;
}
}