称号:定行数n,生成n帕斯卡三角行
算法:步骤通过阵列工序
public class Solution {
public List<List<Integer>> generate(int numRows) {
if (numRows < 0) {
return null;
}
List<List<Integer>> pascalTriangle = new ArrayList<List<Integer>>();
for (int i=0; i<numRows; ++i) {
if (i == 0) {
List<Integer> currTriangle = new ArrayList<Integer>();
currTriangle.add(1);
pascalTriangle.add(i, currTriangle);
} else {
List<Integer> currTriangle = new ArrayList<Integer>();
List<Integer> lastTriangle = pascalTriangle.get(i-1);
int lastInteger = 0;
for (int j=0; j<lastTriangle.size(); ++j) {
currTriangle.add(lastInteger + lastTriangle.get(j));
lastInteger = lastTriangle.get(j);
}
currTriangle.add(1);
pascalTriangle.add(currTriangle);
}
}// end of for
return pascalTriangle;
}
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。