Question:
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] ]思路:由上述例子可以看出,元素之间满足这样的一个关系:a[i][j]=a[i-1][j-1]+a[i-1][j],除了每一行的第一个数和最后一个数都是1以外。
Answer:
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector< vector<int> >a(numRows,vector<int>(numRows));
int i=0;
int j=0;
for(i=0;i<numRows;i++)
{
a[i].resize(i + 1);
for(j=0;j<=i;j++)
{
if (j==0||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
return a;
}
};
run code results:
Your input
5
Your answer
[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Expected answer
[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]