您的位置:首页 > 其它

[leetcode刷题系列]Pascal's Triangle II

2013-08-05 20:38 381 查看
依旧没啥好说的, 利用滚动数据就可以做到O(k)的空间了

class Solution {
public:
vector<int> getRow(int rowIndex) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int a[2][rowIndex + 1];
a[0][0] = 1;
int last = 0;
for(int i = 1; i <= rowIndex; ++ i){
int now = 1 - last;
a[now][0] = 1;
a[now][i] = 1;
for(int j =  1; j < i; ++ j)
a[now][j] = a[last][j - 1] + a[last][j];
last = now;
}
vector<int> vc;
for(int i = 0; i <= rowIndex; ++ i)
vc.push_back(a[last][i]);
return vc;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: