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?
class Solution {
public:
vector<int> getRow(int rowIndex) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector<int> cur;
cur.push_back(1);
for(int i=1 ; i<=rowIndex ; i++){
vector<int> temp;
temp.push_back(1);
for(int j=1 ; j<i ; j++)
temp.push_back(cur[j-1]+cur[j]);
temp.push_back(1);
cur=temp;
}
return cur;
}
};
本文介绍了一个算法问题:如何求解帕斯卡三角形的第K行,并提供了一个C++实现的方法。该方法使用了动态规划的思想,通过逐行计算并更新每一行的值来得到最终结果。
1038

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



