描述 :
给定一个非负整数?numRows
,生成「杨辉三角」的前?numRows
?行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
题目 :
LeetCode?118. 杨辉三角 :
分析 :
这道题用二维数组来做 .
解析 :
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list = new ArrayList<>();
int rowIndex = numRows;
int[][] arr = new int[rowIndex][];
for(int i = 0;i < rowIndex;i++){
arr[i] = new int[i + 1];
arr[i][0] = 1;
arr[i][i] = 1;
}
for(int i = 0;i < rowIndex;i++){
if(i > 1){
for(int j = 0;j < rowIndex;j++){
if(j > 0 && j < i){
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
}
}
}
}
for(int i = 0;i < rowIndex;i++){
List<Integer> temp = new ArrayList<>();
for(int j = 0;j <= i;j++){
temp.add(arr[i][j]);
}
list.add(temp);
}
return list;
}
}
这期就到这里!
?