首页 > 其他 > 详细

[leetcode-118-Pascal's Triangle]

时间:2017-04-05 00:51:11      阅读:348      评论:0      收藏:0      [点我收藏+]

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

思路:

很明显,每一层第一个数字和最后一个数字均为1,中间其余数字只与上一层中的两个数字有关系。

即level[i][j] = level[i-1][j-1] + level[i-1][j](i>0 && j>0 && j<level.size)。

vector<vector<int> > generate(int numRows)
{
        vector<vector<int>> result;
        if(numRows<1)return result;
        vector<int>level;
        level.push_back(1);
        result.push_back(level);
        for(int i = 1;i<numRows;i++)
        {
            level.clear();
            level.push_back(1);
            for(int j=1;j<i;j++)
            {
                level.push_back(result[i-1][j-1] + result[i-1][j]);
            }
            level.push_back(1);
            result.push_back(level);
        }
        return result;
}

 

[leetcode-118-Pascal's Triangle]

原文:http://www.cnblogs.com/hellowooorld/p/6666999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!