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

[leetcode] 3. Pascal's Triangle

时间:2014-11-11 10:32:32      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   sp   for   div   log   代码   bs   amp   

第三道还是帕斯卡三角,这个是要求正常输出,题目如下:

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

那么这个就很简单了,按照帕斯卡三角也是杨辉三角的定义来就可以了。我的代码如下:

vector<vector<int>> generate(int numRows)
{
	vector<vector<int>> Pascal;
	vector<int> tmp;

	if (numRows == 0)
	{
		return Pascal;
	}

	tmp.push_back(1);
	Pascal.push_back(tmp);

	for (int i = 1; i < numRows; i++)
	{
		tmp.clear();

		tmp.push_back(1);
		for (int j = 1; j < i; j++)
		{
			tmp.push_back(Pascal[i - 1][j - 1] + Pascal[i - 1][j]);
		}
		tmp.push_back(1);
		Pascal.push_back(tmp);
	}

	return Pascal;
}

 这个跟上一题有一个区别是在这里认为帕斯卡三角的第0层应该返回[],而上一题中输入numRows==0时,返回的是[1],这个在最开始加一个判断就可以了没必要纠结。

[leetcode] 3. Pascal's Triangle

标签:blog   ar   sp   for   div   log   代码   bs   amp   

原文地址:http://www.cnblogs.com/TinyBox/p/4088702.html

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