题目:
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>> i_vec_vec;
vector<int> i_vec1 = {1};
vector<int> i_vec2 = {1, 1};
if(numRows == 0)
return i_vec_vec;
i_vec_vec.push_back(i_vec1);
if(numRows == 1)
return i_vec_vec;
i_vec_vec.push_back(i_vec2);
if(numRows == 2) {
return i_vec_vec;
}
for(int i = 3; i <= numRows; i++) {
vector<int> out = i_vec_vec[i_vec_vec.size()-1];
vector<int> in;
in.push_back(1);
for(int j = 0; j < out.size()-1; j++)
in.push_back(out[j]+out[j+1]);
in.push_back(1);
i_vec_vec.push_back(in);
}
return i_vec_vec;
}
};
本文介绍了一个C++实现的算法,该算法用于生成指定行数的帕斯卡三角形。帕斯卡三角形是一种数学上的三角排列,在组合数学中有着广泛的应用。文章通过具体的代码示例展示了如何构造这一三角形。
1037

被折叠的 条评论
为什么被折叠?



