$triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]$

  • 2.17

    • 忘了是在 res 中取上一行,而不是 list
  • 2.4

    • 用临时List 暂存一行
    • 在 res 总结果使用状态方程
  • 12.1

    1. j的边界为i+1,但是在里面的判断是j=i
    2. dp在这里是res.get(上一排).get(j-1)与res.get(上一排).get(j)
    3. res的添加需在里面的for循环结束后

在边界时: if(j==0||j==i){

多重ArrayList的取数组方式:res.get(i-1).get(j-1)+res.get(i-1).get(j)

  • i为行,j为列
class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> res = new ArrayList<>();
        for(int i = 0; i<numRows;i++){
            List<Integer> row = new ArrayList<>();
            for(int j = 0; j<i+1;j++){
                if(j==0||j==i){
                    row.add(1);
                }else{
                    int val = res.get(i-1).get(j-1)+res.get(i-1).get(j);
                    row.add(val);
                }
            }
        res.add(row);
        }
        return res;
    }
}