Leetcode3:Pascal's Triangle

来源:互联网 发布:mac地址由什么组成 编辑:程序博客网 时间:2024/05/22 10:59

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]]

此题和Pascal's TriangleⅡ类型一样,不同的是那道题只需返回一层的向量,而此题要返回k层之前所有层的向量。可以调用那道题的函数来很容易实现此题的解法:

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



运行时间排名靠前,多亏上道题的解法!

0 0
原创粉丝点击