原题链接:https://leetcode-cn.com/problems/matrix-block-sum/

相关题目:二维区域和检索 - 矩阵不可变

动态规划:

sums[i][j]表示以(i,j)为右下角的矩形里元素总和

转移方程:

answer[r][c]=sums[y2+1][x2+1] - sums[y2+1][x1] - sums[y1][x2+1] + sums[y1][x1];

图解见二维区域和检索 - 矩阵不可变

vector<vector<int>> sums;inline int sumRegion(int x1, int y1, int x2, int y2){return sums[y2+1][x2+1] - sums[y2+1][x1] - sums[y1][x2+1] + sums[y1][x1];
}vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int K) {int m = mat.size();int n = mat[0].size();vector<vector<int>> answer(m, vector<int>(n, 0));vector<vector<int>> sums(m + 1, vector<int>(n + 1, 0));for (int i = 1; i <= m; i++){for (int j = 1; j <= n; j++){sums[i][j] = sums[i - 1][j] + sums[i][j - 1] - sums[i - 1][j - 1] + mat[i - 1][j - 1];//计算以(i,j)为右下角的矩形里元素总和}}this->sums=sums;for (int r = 0; r < m ; r++){for (int c = 0; c < n; c++){int x1 = max(0, c - K);//计算出区域顶点int y1 = max(0, r - K);int x2 = min(n - 1, c + K);int y2 = min(m - 1, r + K);answer[r][c]= sumRegion(x1, y1, x2, y2);}}return answer;
}

leetcode算法题--矩阵区域和相关推荐

  1. leetcode算法题--矩阵中的幸运数

    原题链接:https://leetcode-cn.com/problems/lucky-numbers-in-a-matrix/ class Solution {public:vector<in ...

  2. leetcode算法题--矩阵中的路径

    原题链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/ dfs bool exist(vector<vector ...

  3. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  4. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  5. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  6. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  7. leetcode算法题--零钱兑换

    原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...

  8. leetcode算法题-- 买卖股票的最佳时机

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...

  9. leetcode算法题--买卖股票的最佳时机 II

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 这类股票题目请见leetcode算法题–最佳买卖股票 ...

最新文章

  1. CV08-数据预处理与数据增强
  2. WSFC 仲裁模型选择
  3. 医学顶刊BMJ打脸谷歌:AI取代医生检测乳腺癌还远着呢
  4. 世园会开幕式上的机器人_【在国际智能制造大会暨智能机器人大会开幕式上的致辞】世界智能机器人大会...
  5. django的动静分离
  6. java filter
  7. redis 字符串数据(string)
  8. Win7 单机Spark和PySpark安装
  9. 还不会使用分布式锁?教你三种分布式锁实现的方式
  10. java操作数据库,以页面显示学生信息为例
  11. android 远程同步,在Android上同步SQL数据库与REST远程服务器的最佳实践
  12. System.Transactions.Diagnostics.DiagnosticTrace 的类型初始值设定项引发异常。配置系统未能初始化
  13. 深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查
  14. Unicode 字符编码表
  15. JS学习3-Js运算符优先级
  16. NIK插件-托马斯教程1-color efex pro 4
  17. netware php_服务器_如何在 Netware 服务器中安装多块网卡,如果网络在扩大时服务器只装 - phpStudy...
  18. Chrome 插件篇-Unsplash插件:浏览器背景桌面设置,漂亮的背景桌面插件,时时更新
  19. 黑马程序员—[JavaEE就业薪资] JavaEE+云计算7期,就业率97%,平均工资7610元!
  20. 在BuildConfig中添加自定义字段

热门文章

  1. 苹果电脑安装python-4. 在苹果系统上使用 Python
  2. python基础语法第10关作业-Python基础作业一
  3. python语法手册-Python编程参考手册
  4. linux教程 sed命令的用法,Linux文本处理三剑客——sed命令使用教程
  5. 2017年最受欢迎的10个编程挑战网站
  6. SDL 实现多线程 的一些BUG
  7. SSRS:服务器更名后,ReportingService无法使用和登录的解决办法
  8. 对我影响最大的3位老师
  9. jQuery操作Dom、jQuery事件机制、jQuery补充部分
  10. Offer是否具有法律效力?