Leetcode 118. 杨辉三角

在这里插入图片描述
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

在这里插入图片描述
示例 1:

输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:

输入: numRows = 1
输出: [[1]]

提示:

  • 1 <= numRows <= 30

Code:


class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>>res;
        {
            vector<int>vec;
            vec.push_back(1);
            res.push_back(vec);
            
        }
        if(numRows>1)
        {
            vector<int>vec;
            vec.push_back(1);
            vec.push_back(1);
            res.push_back(vec);
            
        }
        if(numRows==1 || numRows==2)
            return res;
        
        for(int i=2;i<numRows;i++)
        {
            vector<int>vecnew;
            vector<int>vec=res[i-1];
            vecnew.push_back(1);
            for(int i=0;i<vec.size();i++)
            {
                if((i+1)<vec.size())
                    vecnew.push_back(vec[i]+vec[i+1]);
            }
            vecnew.push_back(1);
            res.push_back(vecnew); 
        }
        
        return res;
        
    }
};

posted @ 2022-07-30 11:16  萧海~  阅读(24)  评论(0编辑  收藏  举报