您的位置:首页 > 其它

LeetCode_pascals-triangle

2015-09-13 12:07 316 查看
https://leetcode.com/problems/pascals-triangle/

解题思路:第二行起,上一行的两个数之和作为下一行的一个数;

class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<int> up(2,1);
vector<int> down(1,1);
vector<vector<int>> floor;

if(numRows == 1){
floor.push_back(down);
return floor;
}
if(numRows == 0){
return floor;
}

floor.push_back(down);
floor.push_back(up);
int sum;
for(int i = 2;i < numRows;i++){
for(int j = 1;j < up.size();j++){
sum = up[j] + up[j-1];
down.push_back(sum);
}
down.push_back(1);
floor.push_back(down);
up.assign(down.begin(),down.end());
down.clear();//注意,要清空数组;
down.push_back(1);//返回的原始状态
}
return floor;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: