首页 > 其他 > 详细

118. Pascal's Triangle

时间:2016-09-05 23:30:00      阅读:289      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!