您的位置:首页 > 其它

LeetCode(119) Pascal's Triangle II

2015-10-09 21:33 399 查看

题目

Given an index k, return the kth row of the Pascal’s triangle.

For example, given k = 3,

Return [1,3,3,1].

Note:

Could you optimize your algorithm to use only O(k) extra space?

分析

与上题LeetCode 118 Pascal’s Triangle本质相同;

需要注意的是,本题参数 k = 3 代表下标为3的那行元素,下标计算从0开始,也就是第4行;

AC代码

class Solution {
public:
vector<int> getRow(int rowIndex) {
if (rowIndex == 0)
return  vector<int>(1,1);

//存储上一行vector
vector<int> pre = getRow(rowIndex - 1);

//计算当前行
vector<int> cur(rowIndex + 1, 0);
//初始化首尾元素
cur[0] = 1;
cur[rowIndex] = 1;

//计算中间元素
for (int i = 1; i < rowIndex; ++i)
{
cur[i] = pre[i-1] + pre[i];
}//for

return cur;
}
};


GitHub测试程序源码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: