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层帕斯卡三角形(也称杨辉三角形)。
解题思路
观察杨辉三角的构造形式,在每一行的最左和最右侧都是1,而其中的元素的值,则是上面一行的相邻两个值的和构造成的。也就是:num[i][j] = num[i-1][j-1] + num[i-1][j]
int[][] generate(int numRows) { int[][] result = new int[numRows][numRows]; for (int i = 0; i < numRows; i++) for (int j = 0; j <= i; j++) { if (j == 0 || j == i) result[i][j] = 1; else result[i][j] = result[i - 1][j - 1] + result[i - 1][j]; } return result; }