[leetcode] Pascal's Triangle

Pascal's Triangle

模拟法

#include <iostream>
#include <vector>
using namespace std;


class Solution {
public:
    vector<vector<int> > generate(int numRows) {
        
        vector<vector<int>> res;
        for (int i=0; i<numRows; i++) {
            vector<int> row;
            if (i==0) {
                row.push_back(1);
            }else{
                for (int j=0; j<=i; j++) {
                    if (j==0||j==i) {
                        row.push_back(1);
                    }else{
                        row.push_back(res[i-1][j-1]+res[i-1][j]);
                    }
                }
            }
            res.push_back(row);
        }
        
        /*for (int i=0; i<numRows; i++) {
            for (int j=0; j<i; j++) {
                cout<<res[i][j]<<" ";
                
            }
            cout<<res[i][i]<<endl;
        }*/
        return res;
    }
};




int main(){
    Solution so;
    int n=5;
    so.generate(n);
    return 0;
}


你可能感兴趣的:([leetcode] Pascal's Triangle)