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<int> singleRow; vector<vector<int> > solution; if (numRows==0) return solution; singleRow.push_back(1); solution.push_back(singleRow); for (int i=1;i<numRows;i++){ singleRow.clear(); for (int j=0;j<=i;j++){ if (j==0 || j==i) singleRow.push_back(1); else singleRow.push_back(solution[i-1][j-1] + solution[i-1][j]); } solution.push_back(singleRow); } return solution; } };
本文介绍了一种使用C++实现帕斯卡三角形的方法。通过一个简单的算法,可以生成任意层数的帕斯卡三角形。每层的元素都是上一层相邻两个数的和,最外侧为1。该算法适用于数学和计算机科学领域的初学者。
7866

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



