给一整数 n
, 返回杨辉三角的前 n 行
样例
样例 1:
输入 : n = 4
输出 :
[
[1]
[1,1]
[1,2,1]
[1,3,3,1]
]
注意事项
0 <= n <= 20
- 杨辉三角也被叫做帕斯卡三角形. --(Wikipedia)]
class Solution {
public:
/**
* @param n: a Integer
* @return: the first n-line Yang Hui's triangle
*/
vector<vector<int>> calcYangHuisTriangle(int numRows) {
// write your code here
vector<vector<int>> ret;
if(numRows == 0)
{
return ret;
}
vector<int> tmp;
int array[numRows][numRows];
memset(array, 0, numRows*numRows*4);
int i = 0;
int j = 0;
for(i=0; i<numRows; i++)
{
array[i][0] = 1;
array[i][i] = 1;
}
for(i=2; i<numRows; i++)
{
for(j=1; j<i; j++)
{
array[i][j] = array[i-1][j] + array[i-1][j-1];
}
}
//vector<float> vecHeight(arrHeight, arrHeight+sizeof(arrHeight)/sizeof(float));
for(i=0; i<numRows; i++)
{
vector<int> vecHeight;
for(j=0; j<i+1; j++)
{
vecHeight.push_back(array[i][j]);
}
ret.push_back(vecHeight);
}
return ret;
}
};