List<List >
套娃的感觉
ArrayList类:可动态修改的数组
经试验,i++与++i没有区别
j从1开始,相当于每一行从第二个元素开始,其数值等于上一行两个之和
public class Solution {
/**
* @param n: a Integer
* @return: the first n-line Yang Hui's triangle
*/
public List<List<Integer>> calcYangHuisTriangle(int n) {
List<List<Integer> > res = new ArrayList<>();
int i, j;
if (n == 0) {
return res;
}
for (i = 0; i < n; i++) {
List<Integer> t = new ArrayList<Integer>();
t.add(1);
for (j = 1; j < i; j++) {
//j从1开始,相当于每一行从第二个元素开始,其数值等于上一行两个之和
t.add(res.get(i - 1).get(j - 1) + res.get(i - 1).get(j));
}
if (i > 0) {
//每一行的第一个元素都是1
t.add(1);
}
res.add(t);
}
return res;
}
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END