题目描述
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。(要求 O(k)O(k)O(k)的空间复杂度)
输入: 3
输出: [1,3,3,1]
解题思路
118题的进阶版,通过上一行推导下一行,因为下一行仅与上一行有关,所以可以优化空间复杂度到O(n)O(n)O(n),详见代码。
参考代码
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> res;
res.push_back(1);
for(int i = 1; i <= rowIndex; i++){
res.push_back(1);
vector<int> temp(res.begin(), res.end());
for(int j = 1; j < res.size() - 1; j++)
res[j] = temp[j-1] + temp[j];
}
return res;
}
};
本文介绍了一个高效的算法,用于求解杨辉三角的第k行,采用O(k)的空间复杂度,通过对上一行的推导来得出下一行,实现了空间优化。

513

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



