侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

LeetCode 119. 杨辉三角 II

Hope
2022-02-24 / 0 评论 / 0 点赞 / 241 阅读 / 530 字
温馨提示:
本文最后更新于 2022-02-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

LeetCode 119. 杨辉三角 II

思路:
空间复杂度要求 O(rowIndex),可以用滚动数组,我们可以发现,res[i][j] = res[i-1][j] + res[i-1][j],res[i][j]只用到了上一层的数据,所以可以用滚动数组,我们在应用滚动数组的时候其实不需要额外的考虑滚动数组的事情,因为第i层用的第i-1层,但是i-2层已经不用了,所以存在一个奇偶的关系,所以在第一维i & 1 就可以解决这个问题。

代码:

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        //O(rowIndex) 空间 滚动数组
        vector<vector<int>> res(2,vector<int> (rowIndex + 1));

        for(int i=0;i <= rowIndex;i++){
            res[i & 1][0] = res[i & 1][i] = 1;
            for(int j=1;j<i;j++){
                res[i & 1][j] = res[i - 1 & 1][j-1] + res[i - 1 & 1][j];
            }
        }
        return res[rowIndex & 1];
    }
};
0

评论区