Leetcode: Pascal's Triangle

来源:互联网 发布:java环境一键安装包 编辑:程序博客网 时间:2024/06/04 18:33

题目:

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


杨辉三角相信是大家再熟悉不过的啦,这里就不分析思路了!

这道题是目前为止,我第一次一遍写好,一次性通过的题目,这个记录下!


下面给出示例代码:

class Solution {public:    vector<vector<int> > generate(int numRows)    {    vector<vector<int>> result;    if (numRows < 1)    {    return result;    }        vector<int> first;    first.push_back(1);    result.push_back(first);    if (numRows == 1)    {    return result;    }        vector<int> second;    second.push_back(1);    second.push_back(1);    result.push_back(second);    if (numRows == 2)    {    return result;    }        result.reserve(numRows);    for (size_t i = 2; i < numRows; i++)    {    vector<int> current;    current.push_back(1);    vector<int> previous(result.back());    for (size_t i = 1; i < previous.size(); i++)    {    current.push_back(previous[i - 1] + previous[i]);    }    current.push_back(1);    result.push_back(current);    }        return result;    }};


0 0
原创粉丝点击