码迷,mamicode.com
首页 > 其他好文 > 详细

118. Pascal's Triangle

时间:2016-09-05 23:30:03      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

1. 问题描述

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]
]
Tags:Array
Similar Problems:(E) Pascal‘s Triangle II

2. 解题思路


3. 代码

class Solution {
public:
    vector<vector<int>> generate(int numRows)
    {
        vector<vector<int>> vResult;
        vector<int> vCurRow;
        vector<int> vLastRow;
        if (numRows <= 0)
        {
            return vResult;
        }
        if (1 <= numRows)
        {
            vCurRow.push_back(1);
            vResult.push_back(vCurRow);
        }

        if (2 <= numRows)
        {
            vCurRow.push_back(1);
            vResult.push_back(vCurRow);
        }
        vLastRow = vCurRow;

        if (3 <= numRows)
        {
            for (int i=3; i<=numRows; i++)
            {
                vCurRow.clear();
                for (int j=0; j<i; j++)
                {
                    if (0 == j)
                    {
                        vCurRow.push_back(1);
                    }
                    else if (i-1 == j)
                    {
                        vCurRow.push_back(1);
                    }
                    else
                    {
                        int num = vLastRow[j-1] + vLastRow[j];
                        vCurRow.push_back(num);
                    }
                }
                vResult.push_back(vCurRow);
                vLastRow = vCurRow;
            }
        }

        return vResult;
    }
};

4. 反思

118. Pascal's Triangle

标签:

原文地址:http://www.cnblogs.com/whl2012/p/5844067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!