0
点赞
收藏
分享

微信扫一扫

LeetCode 118. 杨辉三角

犹大之窗 2022-01-20 阅读 85

这题的原理就不多赘述了,主要是理解到一点,对于每一行来说,首尾两个值是固定的,其余的值都可以用下面的式子得到:

ans[i][j] = ans[i-1][j-1] + ans[i-1][j];

其中i表示行,j表示列,和杨辉三角的原理一样,第i行第j列的数就是由第i-1行第j-1列的数加上第i-1行第j列的数得到的,由此便可推出本题的答案。AC代码如下:

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> ans(numRows);
        for(int i=0;i<numRows;i++) {
            ans[i].resize(i+1);
            ans[i][0]= ans[i][i] = 1;
            for(int j=1;j<i;j++) {
                ans[i][j] = ans[i-1][j-1] + ans[i-1][j];
            }
        }
        return ans;
    }
};
举报

相关推荐

0 条评论