您的位置:首页 > 其它

[LeetCode] Pascal's Triangle

2014-05-24 14:13 302 查看
题目:

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>> triangle;
vector<int> triangle_cell;
if(numRows == 0) {
return triangle;
}
triangle_cell.push_back(1);
triangle.push_back(triangle_cell);
triangle_cell.clear();
if(numRows == 1) {
return triangle;
}
triangle_cell.push_back(1);
triangle_cell.push_back(1);
triangle.push_back(triangle_cell);
triangle_cell.clear();
if(numRows == 2) {
return triangle;
}
for(int i = 3; i <= numRows; i++) {
triangle_cell.clear();
for(int j = 1; j <= i; j++) {
if(j == 1 || j == i) {
triangle_cell.push_back(1);
}
else {
triangle_cell.push_back((triangle[i-2])[j-2] + (triangle[i-2])[j-1]);
}
}
triangle.push_back(triangle_cell);
}
return triangle;
}
};


思路:没啥难的,就是两层循环慢慢算。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: