可以采用动态规划+二维链表的思想解决
将杨辉三角看做如下的数列,找寻规律,n行的第0位与第n位位1,其余数字等于上一行对应位置与前一位数字之和
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> list1 = new ArrayList<>();
for (int i = 0; i < numRows; i++) {
List<Integer> list2 = new ArrayList<>();
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
list2.add(1);
} else {
int i1 = list1.get(i - 1).get(j - 1) + list1.get(i - 1).get(j);
list2.add(i1);
}
}
list1.add(list2);
}
return list1;
}
}
网友评论