Given a non-negative integer numRows, generate the first numRows of Pascal’s triangle.

In Pascal’s triangle, each number is the sum of the two numbers directly above it.
Example:
1 2 3 4 5 6 7 8 9
   | Input: 5 Output: [      [1],     [1,1],    [1,2,1],   [1,3,3,1],  [1,4,6,4,1] ]
   | 
 
暴力算法
直接构造即可 复杂度O(n^2)
注意numRows = 0, 1, 2的特殊情况
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
   | class Solution { public:     vector<vector<int>> generate(int numRows) {         vector<vector<int>> vvc;         if(numRows == 0) return vvc;         vvc.push_back(vector<int>({1}));         if(numRows == 1) return vvc;         vvc.push_back(vector<int>({1,1}));         if(numRows == 2) return vvc;                  assert(numRows > 2);                  for(int j = 3; j <= numRows; ++j)         {             vector<int> tmp;             tmp.push_back(1);             for(int i = 0; i < j - 2; ++i)             {                 int a = vvc.back()[i] + vvc.back()[i + 1];                 tmp.push_back(a);             }             tmp.push_back(1);             vvc.push_back(tmp);         }         return vvc;              } };
  |