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?
Answer:
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> ivc;
ivc.push_back(1);
if(rowIndex == 0) return ivc;
for(int i = 1; i <= rowIndex; i ++)
{
ivc.push_back(1);
int isz = ivc.size()-1;
for(int j = isz-1; j >=1; j --)
{
ivc[j] = ivc[j-1]+ivc[j];
}
}
return ivc;
}
};
本文介绍了一个算法问题:如何求出帕斯卡三角形的第K行。通过一个具体的例子展示了当K为3时,返回的结果是[1,3,3,1]。并提供了一段C++代码实现,该算法仅使用了O(k)的额外空间。
355

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



