杨辉三角(动态规划)

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

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

 

示例 1:

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

示例 2:

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

 

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

 

posted on 2025-01-07 11:03  _月生  阅读(43)  评论(0)    收藏  举报