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]
]
public class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> results= new ArrayList<List<Integer>>();
if(numRows<1){
return results;
}else{
List<Integer> result = new ArrayList<Integer>();
result.add(1);
results.add(result);
for(int i=1;i<numRows;i++){
List<Integer> preRow = results.get(i-1);
result = new ArrayList<Integer>();
for(int j=0;j<=i;j++){
if(j==0||j==i){
result.add(1);
}else{
result.add(preRow.get(j-1)+preRow.get(j));
}
}
results.add(result);
}
}
return results;
}
}
题目不难 我却因为边界值的问题折腾了好久,以后一定要注意
本文深入探讨了如何使用Java编程语言解决Pascal三角形生成问题,包括边界处理注意事项,以及通过实例代码展示算法实现过程。强调了在解决此类数学问题时的关键步骤和常见陷阱。
7900

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



