欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

118. Pascal's Triangle

程序员文章站 2022-04-01 11:32:17
...

1,题目要求
n = 5:
118. Pascal's Triangle
也就是输出规定行数的杨辉三角。

2,题目思路
观察杨辉三角的构造形式,在每一行的最左和最右侧都是1,而其中的元素的值,则是上面一行的相邻两个值的和构造成的。也就是:num[i][j] = num[i-1][j-1] + num[i-1][j]

3,程序源码

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> num(numRows);
        for(int i=0;i<numRows;i++)
            for(int j = 0;j<=i;j++)
            {
                if(j == 0 || j == i)
                    num[i].push_back(1);
                else
                    num[i].push_back(num[i-1][j-1] + num[i-1][j]);
            }
        return num;
    }
};

需要注意的是,因为容器是向量而不是数组,因此在取向量的值时,需要对向量数进行初始化,否则num[i]会出错。