Given numRows, generate the first numRows of Pascal’s triangle.
For example, given numRows = 5, Return
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]s思路: 1. 可以先产生这个框架:比如:5个vector,每个vector长度递增,且初始化为1.然后再双重循环修改里面的值。即:
class Solution {public: vector<vector<int>> generate(int numRows) { vector<vector<int>> res; for(int i=1;i<=numRows;i++){ vector<int> cur(i,1); res.push_back(cur); } for(int i=2;i<numRows;i++){ for(int j=1;j<i;j++){ res[i][j]=res[i-1][j-1]+res[i-1][j]; } } return res; }};//优化:把两个for放在一起!class Solution {public: vector<vector<int>> generate(int numRows) { vector<vector<int>> res; for(int i=0;i<numRows;i++){ res.push_back(vector<int>(i+1,1)); for(int j=1;j<i;j++){ res[i][j]=res[i-1][j-1]+res[i-1][j]; } } return res; }};新闻热点
疑难解答