力扣-304-二维区域和检索-矩阵不可变
class NumMatrix { private: vector<vector<int>> prefixSum; public: NumMatrix(vector<vector<int>>& matrix) { int n = matrix.size(); int m = matrix[0].size(); // 第一行、第一列均为额外的空行,为了初始化方便 prefixSum.resize(n + 1, vector<int>(m + 1, 0)); for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) prefixSum[i][j] = prefixSum[i - 1][j] + prefixSum[i][j - 1] - prefixSum[i - 1][j - 1] + matrix[i - 1][j - 1]; } int sumRegion(int row1, int col1, int row2, int col2) { return prefixSum[row2 + 1][col2 + 1] - prefixSum[row1][col2 + 1] - prefixSum[row2 + 1][col1] + prefixSum[row1][col1]; } };
本文作者:YaosGHC
本文链接:https://www.cnblogs.com/yaocy/p/17002850.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步