The Solution to Leetcode 118 Pascal's Triangle

来源:互联网 发布:淘宝0点抢购秒杀怎么抢 编辑:程序博客网 时间:2024/05/21 10:51

Question:

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]]
思路:由上述例子可以看出,元素之间满足这样的一个关系:a[i][j]=a[i-1][j-1]+a[i-1][j],除了每一行的第一个数和最后一个数都是1以外。

Answer:

class Solution {public:    vector<vector<int>> generate(int numRows) {        vector< vector<int> >a(numRows,vector<int>(numRows));        int i=0;        int j=0;        for(i=0;i<numRows;i++)        {               a[i].resize(i + 1);            for(j=0;j<=i;j++)            {                 if (j==0||j==i)                   a[i][j]=1;                 else                 a[i][j]=a[i-1][j-1]+a[i-1][j];            }        }           return a;          }};

run code results:
Your input
5
Your answer
[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Expected answer
[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]