LeetCode 118: Pascal's Triangle

来源:互联网 发布:java 创建多线程读sql 编辑:程序博客网 时间:2024/05/17 22:15

Difficulty: 2

Frequency: 1


Problem:

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

Solution:

class Solution {public:    vector<vector<int> > Triangle;    Solution()    {        vector <int> v_first;        v_first.push_back(1);        Triangle.push_back(v_first);    }    vector<vector<int> > generate(int numRows) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        vector<vector<int> > answer;        if (numRows<=Triangle.size())        {            for (int i = 0; i<numRows; i++)                answer.push_back(Triangle[i]);                            return answer;        }                vector<int> temp_vector;        for (int i = Triangle.size(); i<numRows; i++)        {            temp_vector.clear();            temp_vector.push_back(1);            for (int j = 1; j<Triangle[i-1].size(); j++)            {                temp_vector.push_back(Triangle[i-1][j]+Triangle[i-1][j-1]);            }            temp_vector.push_back(1);            Triangle.push_back(temp_vector);        }        for (int i = 0; i<numRows; i++)            answer.push_back(Triangle[i]);                    return answer;    }};


原创粉丝点击