【LeetCode118】Pascal's Triangle

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

一开始是想用vector的push_back这种语句

看提示有人用两层for循环,而且用到resize()函数,从而可以索引未push_back进去数的地方

此外,初始化函数vector<int> a(5, 1)将容器a初始化为有5个1,也可以不指定1,从而与resize()效果相同

用递归容易溢出

猜你喜欢

转载自blog.csdn.net/weixin_39458342/article/details/88086303