Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle.

In Pascal’s triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5
Output:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> triangle=new ArrayList<>();
if(numRows==0) return triangle;
List<Integer> first_row=new ArrayList<>();
first_row.add(1);
triangle.add(first_row);
for(int i=1;i<numRows;i++){
List<Integer> prev_rom=triangle.get(i-1);
List<Integer> row=new ArrayList<>();
row.add(1);
for(int j=1;j<i;j++){
row.add(prev_rom.get(j-1)+prev_rom.get(j));
}
row.add(1);
triangle.add(row);
}
return triangle;
}
}
本文介绍了一种生成帕斯卡三角的算法实现。通过Java代码示例展示了如何根据输入的行数生成指定行数的帕斯卡三角,并详细解释了算法的工作原理。
801

被折叠的 条评论
为什么被折叠?



