LeetCode 304. 二维区域和检索 - 矩阵不可变(DP)
发布日期:2021-07-01 03:15:39
浏览次数:2
分类:技术文章
本文共 2035 字,大约阅读时间需要 6 分钟。
1. 题目
2. 解题
类似题目:
dp[i][j]数组表示 从左上角到i,j
位置的所有和
class NumMatrix { vector> sum;public: NumMatrix(vector >& matrix) { if(matrix.empty()) return; int r = matrix.size(), c = matrix[0].size(), i, j; sum = vector > (r+1, vector (c+1, 0)); for(i = 0; i < r; i++) { for(j = 0; j < c; j++) { sum[i+1][j+1] = sum[i+1][j]+sum[i][j+1]+matrix[i][j]-sum[i][j]; } } } int sumRegion(int row1, int col1, int row2, int col2) { if(sum.empty()) return 0; return sum[row2+1][col2+1] - sum[row1][col2+1] - sum[row2+1][col1] + sum[row1][col1]; }};
or
按行dpclass NumMatrix { vector> sumofrows;public: NumMatrix(vector >& matrix) { if(matrix.empty()) return; int r = matrix.size(), c = matrix[0].size(), i, j, sum = 0; vector temp(c,0); for(i = 0; i < r; i++) { sum = 0; for(j = 0; j < c; j++) { sum += matrix[i][j]; temp[j] = sum; } sumofrows.push_back(temp); } } int sumRegion(int row1, int col1, int row2, int col2) { if(sumofrows.empty()) return 0; int i, j, sum = 0; if(col1 != 0) for(i = row1; i <= row2; i++) { sum += sumofrows[i][col2]-sumofrows[i][col1-1]; } else for(i = row1; i <= row2; i++) { sum += sumofrows[i][col2]; } return sum; }};/** * Your NumMatrix object will be instantiated and called as such: * NumMatrix* obj = new NumMatrix(matrix); * int param_1 = obj->sumRegion(row1,col1,row2,col2); */
转载地址:https://michael.blog.csdn.net/article/details/101219854 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月27日 10时52分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux shell脚本的字符串截取
2019-05-02
数据库复习(4)
2019-05-02
1小时点击量破千万!阿里巴巴首发:MySQL高级调优笔记!全是技术重点
2019-05-02
这个GItHub上的Java项目开源了 2021最全的Java架构面试复习指南
2019-05-02
Proftpd MySQL [Step by Step]
2019-05-02
EFI Shell 命令参考
2019-05-02
HP-UX oracle RAC 双机实践
2019-05-02
解决SHELL脚本中的export无法生效的问题【转】
2019-05-02
linux中的sh脚本语法【转】
2019-05-02
区别数据结构中的堆栈与内存中的堆栈的个人总结【转】
2019-05-02
c++中冒号(:)和双冒号(::)的用法【转】
2019-05-02
python中各种下划线的含义
2019-05-02
《计算机视觉-一种现代方法(第2版)》读书笔记三:早期视觉(一幅图像)
2019-05-02
《计算机视觉-一种现代方法(第2版)》读书笔记六:应用之图像搜索和检索
2019-05-02
如何撰写高水平的学术论文
2019-05-02
谭浩强《C++面向对象程序设计》知识点总结
2019-05-02
分享一个关于介绍TextCNN和TextRNN的文章
2019-05-02
关于CNN中感受野的理解和计算方法
2019-05-02