您的位置:首页 > 其它

leetcode118. Pascal's Triangle

2016-03-27 22:08 375 查看
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]
]

其实是求杨辉三角的算法,可以看出每一行的数据是上一行的之和。

代码如下:

class Solution
{
public:
vector<vector<int>> generate(int numRows)
{
vector<vector<int>> ret;
if(numRows==0)
{
return ret;
}
vector<int> last(1,1);
ret.push_back(last);
for(int i=2;i<=numRows;i++)
{
last.push_back(0);
vector<int> tmp=last;
for(int j=1;j<i;j++)
{
tmp[j]=last[j-1]+last[j];
}
ret.push_back(tmp);
last=tmp;
}
return ret;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: