Pascal's Triangle
2015-03-16 14:17 笨笨的老兔子 阅读(187) 评论(0) 编辑 收藏 举报输入一个整数n,打印一个n行的杨辉三角
帕斯卡三角也叫杨辉三角,每一行的第一个和最后一个都是1,其他数字的递推式是a[n][i]=a[n-1][i-1]+a[n-1][i]
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
注意点
- 输入数字是int需要是自然数
- 每一行的首尾都push整数1
class Solution {
public:
vector<vector<int> > generate(int numRows) {
vector<vector<int> >res;
if (numRows <= 0)
return res;
vector<int> firstRow;
firstRow.push_back(1);
res.push_back(firstRow);
for (size_t i = 1; i < numRows; i++)
{
vector<int> tmpRow;
tmpRow.push_back(1);
for (size_t j = 1; j < i; j++)
{
tmpRow.push_back(res[i - 1][j - 1] + res[i - 1][j]);
}
tmpRow.push_back(1);
res.push_back(tmpRow);
}
return res;
}
};