leetcode算法题--矩阵区域和
原题链接: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算法题--矩阵区域和相关推荐
- leetcode算法题--矩阵中的幸运数
原题链接:https://leetcode-cn.com/problems/lucky-numbers-in-a-matrix/ class Solution {public:vector<in ...
- leetcode算法题--矩阵中的路径
原题链接:https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/ dfs bool exist(vector<vector ...
- LeetCode算法题整理(200题左右)
目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...
- LeetCode算法题-Nth Digit(Java实现)
这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...
- LeetCode算法题-Reverse Linked List(Java实现)
这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...
- LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...
- leetcode算法题--零钱兑换
原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...
- leetcode算法题-- 买卖股票的最佳时机
原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...
- leetcode算法题--买卖股票的最佳时机 II
原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 这类股票题目请见leetcode算法题–最佳买卖股票 ...
最新文章
- CV08-数据预处理与数据增强
- WSFC 仲裁模型选择
- 医学顶刊BMJ打脸谷歌:AI取代医生检测乳腺癌还远着呢
- 世园会开幕式上的机器人_【在国际智能制造大会暨智能机器人大会开幕式上的致辞】世界智能机器人大会...
- django的动静分离
- java filter
- redis 字符串数据(string)
- Win7 单机Spark和PySpark安装
- 还不会使用分布式锁?教你三种分布式锁实现的方式
- java操作数据库,以页面显示学生信息为例
- android 远程同步,在Android上同步SQL数据库与REST远程服务器的最佳实践
- System.Transactions.Diagnostics.DiagnosticTrace 的类型初始值设定项引发异常。配置系统未能初始化
- 深入浅出数据分析(一)——MySQL+EXCEL+R统计问卷调查
- Unicode 字符编码表
- JS学习3-Js运算符优先级
- NIK插件-托马斯教程1-color efex pro 4
- netware php_服务器_如何在 Netware 服务器中安装多块网卡,如果网络在扩大时服务器只装 - phpStudy...
- Chrome 插件篇-Unsplash插件:浏览器背景桌面设置,漂亮的背景桌面插件,时时更新
- 黑马程序员—[JavaEE就业薪资] JavaEE+云计算7期,就业率97%,平均工资7610元!
- 在BuildConfig中添加自定义字段