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] ]
帕斯卡三角形,是一个三角形矩阵,其顶端是 1,视为(row0).第1行(row1)(1&1)两个1,这两个1是由他们上头左右两数之和 (不在三角形内的数视为0).依此类推产生第2行(row2):0+1=1;1+1=2;1+0=1.第3行(row3):0+1=1;1+2=3; 2+1=3;1+0=1. 循此法可以产生以下诸行。
可以定义一个vector<vector<int>>本身是数组,类似数组内每一个元素又是一个int类型数组:
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int>> res(numRows); if(numRows<1)return res; res[0].push_back(1); int i,j; for(i=1;i<res.size();i++) { for(j=0;j<i+1;j++) {if(j==0||j==i)res[i].push_back(1); else res[i].push_back(res[i-1].at(j-1)+res[i-1].at(j)); } } return res; } };