1、题目描述

leetcode【其他】-----118. Pascal's Triangle(杨辉三角)

2、分析

       实现杨辉三角,输入一个n,n为行数,根据杨辉三角的几个特性,杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1。第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)行的数字个数为leetcode【其他】-----118. Pascal's Triangle(杨辉三角)个第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)行的第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)个数字为组合数leetcode【其他】-----118. Pascal's Triangle(杨辉三角)。第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)行数字和为leetcode【其他】-----118. Pascal's Triangle(杨辉三角)。除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和(也就是说,第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)行第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)个数字等于第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)行的第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)个数字与第leetcode【其他】-----118. Pascal's Triangle(杨辉三角)个数字的和)。这是因为有组合恒等式:leetcode【其他】-----118. Pascal's Triangle(杨辉三角)。可用此性质写出整个杨辉三角形。

3、代码

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

4、相关知识点

        vector的一个初始化方式,resize成员函数可以更改容器大小,也可以在第二个参数上初始化。

相关文章: