0
点赞
收藏
分享

微信扫一扫

【 OpenGauss源码学习 —— 列存储(autoanalyze)(二)】

青鸾惊鸿 2023-10-11 阅读 39

题目:
在这里插入图片描述
解析:
该题目解析起来更像是数学推导,找到里面的规律
1、第n行有n个元素
2、第i行第j个元素,为第i-1行,j-1个元素和j个元素的和
3、每行第一个,最后一个元素是1

代码:

public List<List<Integer>> generate(int numRows) {
     List<List<Integer>> result = new ArrayList<>();

     List<Integer> oneLevel = new ArrayList<>();
     oneLevel.add(1);

     result.add(oneLevel);

     for (int i = 1; i < numRows; i++) {
         List<Integer> iLevel = new ArrayList<>();
         iLevel.add(1);

         for (int j=1;j<i;j++) {  // 注意如果是第5行,i最大4,j最大3,最后一列j==4,应该补1
             Integer nowVal = result.get(i-1).get(j-1) + result.get(i-1).get(j);
             iLevel.add(nowVal);
         }

         iLevel.add(1);
         result.add(iLevel);
     }

     return result;
}
举报

相关推荐

openGauss的存储引擎MOT

行存储、列存储、行列混存

0 条评论