当前位置: 首页 > news >正文

网络推广费用厦门seo公司

网络推广费用,厦门seo公司,12380网站建设意见,推广网站概况1314. 矩阵区域和 - 力扣&#xff08;LeetCode&#xff09; 给你一个 m x n 的矩阵 mat 和一个整数 k &#xff0c;请你返回一个矩阵 answer &#xff0c;其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和&#xff1a; i - k < r < i k, j - k < c …

1314. 矩阵区域和 - 力扣(LeetCode)

给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和: 

  • i - k <= r <= i + k,
  • j - k <= c <= j + k 且
  • (r, c) 在矩阵内。
示例 1:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], k = 1
输出:[[12,21,16],[27,45,33],[24,39,28]]
示例 2:输入:mat = [[1,2,3],[4,5,6],[7,8,9]], k = 2
输出:[[45,45,45],[45,45,45],[45,45,45]]

题意就是要计算 假设给出的 mat[i][j] ,那么就要是要计算下图当中给出的 区域的全部元素之和:
 

新返回的矩形当中,应该存储的是上述 绿色区域当中的全部的 元素之和。(k = 1

 所以,我们可以利用二位矩阵的前缀和 来解决上述的问题。

对于 前缀和 二位矩阵 的计算,可以参考之前博客:

leedcode 刷题 - 除自身以外数组的乘积 - 和为 K 的子数组-CSDN博客

leetcode - 串联所有单词的子串 - 最小覆盖子串 - x 的平方根-CSDN博客

 上述就是递归公式,但是 dp[x2][y2] 不是在 dp 这个 二维前缀和数组当中的,这个位置是没有 数据的,所以,其实这个位置的数据是在 mat 当中的。也就对应的是 mat[i][j]

所以,上述就计算出了存储前缀和的二维数组。

此时,我们只需要根据上述的 存储前缀和的二维数组,就可以像下图当中这样去 计算,某一个满足题意的 区间的 元素之和:
 

 即:

ret = dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1]

 上述就是递推公式。

 在上述计算出递推公式之后,就可以开始计算上述的 x1  y1 和 x2  y2 了。

 上述前缀和二维数组当中的 下标是从 (1, 1) 开始计数的,但是,在题目当中的二维数组是从 (0,0) 开始计数的,所以,为了方便上述 前缀和二维数组的计算,所以,我们直接把 dp 数组加一行加一列:

使用黑色位置存储元素值。

dp[x][y] -> mat[x - 1][y -1]dp[x][y] -> ans[x - 1][y -1]

所以此时应该是:

完整代码:
 

class Solution {
public:vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {int m = mat.size(), n = mat[0].size();//计算出前缀和二维数组vector<vector<int>> dp(m + 1, vector<int>(n + 1));for(int i = 1;i <= m;i++)for(int j = 1;j <= n;j++)dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + mat[i - 1][j - 1];// 计算出 answer 二维数组的值vector<vector<int>> ret(m, vector<int>(n));for(int i = 0;i < m;i++)for(int j = 0;j < n;j++){int x1 = max(0 , i - k) + 1, y1 = max(0 , j - k) + 1;int x2 = min(m - 1 , i + k) + 1, y2 = min(n - 1 , j + k) + 1;ret[i][j] = dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1 - 1][y1 - 1];}return ret;}
};

http://www.mmbaike.com/news/92683.html

相关文章:

  • 网站备案申请店铺推广怎么做
  • java在线编程网站域名注册需要多久
  • dede 汽车网站网站用户体验优化
  • 网站怎么做404页面的跳转网页免费制作网站
  • saas云建站平台源码千锋教育的官网
  • 网站建设公司上海做网站公司哪家好网站快速收录
  • 网站制作公司承担百度24小时人工电话
  • 北京东直门 网站建设搜索竞价托管
  • 腾讯网页游戏排行榜镇江seo优化
  • 洛阳做网站哪家便宜网络推广的方法和技巧
  • 公司网站建设文案百度收录怎么查询
  • 连江网站建设服务关键词调词平台哪个好
  • 创建网站app郑州官网网站优化公司
  • 怎样建设公司的网站推广的渠道和方法有哪些
  • 天津河西做网站哪家好如何用html制作网页
  • 国外导航网站程序互联网营销培训课程
  • 洛阳网站建设哪家好今日国际新闻事件
  • 电子商务网站建设结论站长工具官网查询
  • 武陵天下网站开发推广营销app
  • 肃宁做网站seo页面优化公司
  • 芜湖做网站设计的公司百度seo
  • 电商 做图 网站有哪些所有关键词
  • 免费建网站抚顺百度首页纯净版怎么设置
  • 基本的网站开发技术路线免费创建个人博客网站
  • 手机网站关键词排名seo是什么字
  • 徐州网站开发要多少钱新网站怎么做优化
  • 网站文章内链网络营销与传统营销有哪些区别
  • 导购网站自己做电商南昌seo推广公司
  • 潍坊做网站营销技巧
  • 网站数字证书怎么做小红书信息流广告投放