【1314. 矩阵区域和】

这篇具有很好参考价值的文章主要介绍了【1314. 矩阵区域和】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、题目描述

【1314. 矩阵区域和】,矩阵,算法

二、算法思想

【1314. 矩阵区域和】,矩阵,算法文章来源地址https://www.toymoban.com/news/detail-724034.html

三、代码实现

class Solution {
public:
    vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) 
    {

        //先预处理数组
        int n=mat.size();//行
        int m=mat[0].size();//列
        vector<vector<int>> ret(n,vector<int>(m));
        
        vector<vector<int>> dp(n+1,vector<int>(m+1));

        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                dp[i][j]=dp[i-1][j]+dp[i][j-1]+mat[i-1][j-1]-dp[i-1][j-1];
            }
        }

        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                int x1=max(0,i-k)+1,y1=max(0,j-k)+1;
                int x2=min(n-1,i+k)+1,y2=min(m-1,j+k)+1;
                ret[i][j]=dp[x2][y2]-dp[x2][y1-1]-dp[x1-1][y2]+dp[x1-1][y1-1];
            }
        }
        return ret;

    }
};

到了这里,关于【1314. 矩阵区域和】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • matlab中令一个矩阵中的一个区域等于另一个矩阵

    在MATLAB中,你可以使用矩阵索引来将一个矩阵中的一个区域设置为另一个矩阵。假设你有两个矩阵A和B,你想将A中的一部分替换为B。以下是实现此操作的一种方法: 在这个例子中,我们使用了矩阵索引来选择A中的一个子矩阵。A(2:4,2:4)选择了A的第二行到第四行、第二列到第

    2024年02月12日
    浏览(35)
  • 11-数组-二维区域和检索 - 矩阵不可变

    这是数组的第11篇算法,力扣链接。 给定一个二维矩阵  matrix ,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的  左上角  为  (row1, col1)  , 右下角  为  (row2, col2)  。 实现  NumMatrix  类: NumMatrix(int[][] matrix)  给定整数矩阵  matrix  进行初始化 int

    2024年01月24日
    浏览(55)
  • leetcode 013二维区域和检索---矩阵不可变

    给定一个二维矩阵  matrix ,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的左上角为  (row1, col1)  ,右下角为  (row2, col2)  。 实现  NumMatrix  类: NumMatrix(int[][] matrix)  给定整数矩阵  matrix  进行初始化 int sumRegion(int row1, int col1, int row2, int col2)  返回左

    2024年01月22日
    浏览(40)
  • EXCEL, 用if({1,0,0} ...) 实现把给定的区域,输出为任意你想要的矩阵,数组区域!

    目录 1 原材料:这样的一个区域 + 工具 if({1,0,0}) 数组公式 1.1 原始数据  1.2 原理 if(0/1,t-value,f-value)---变形---if({},range1,range2) 1.2.1 if(0/1,t-value,f-value)---变形---if({},range1,range2) 1.2.2 原理1: if 数组原理,虽然if()只能判断1次输出1个结果,但是 if({}) 是if()+数组就可以进行多次判断,

    2024年02月13日
    浏览(39)
  • leetcode304. 二维区域和检索 - 矩阵不可变(java)

    难度 - 中等 原题链接 - 二维区域和检索 - 矩阵不可变 给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的 左上角 为 (row1, col1) ,右下角 为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化 int sumReg

    2024年02月12日
    浏览(40)
  • 【力扣】304. 二维区域和检索 - 矩阵不可变 <二维前缀和>

    给定一个二维矩阵 matrix ,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的 左上角 为 (row1, col1) ,右下角 为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化 int sumRegion(int row1, int col1, int row2, int col2) 返回 左上角 (row1, co

    2024年02月10日
    浏览(40)
  • 【LeetCode每日一题】——304.二维区域和检索-矩阵不可变

    矩阵 中等 304.二维区域和检索-矩阵不可变 给定一个二维矩阵 matrix,以下类型的多个请求: 计算其子矩形范围内元素的总和,该子矩阵的 左上角 为 (row1, col1) ,右下角 为 (row2, col2) 。 实现 NumMatrix 类: NumMatrix(int[][] matrix) 给定整数矩阵 matrix 进行初始化 int sumRegion(int row1, i

    2024年02月13日
    浏览(46)
  • Android画布Canvas矩阵Matrix放大裁剪Rect区域的Bitmap,Kotlin

                          Android Matrix画布Canvas缩放scale,Kotlin-CSDN博客 文章浏览阅读116次,点赞3次,收藏3次。文章浏览阅读9.6k次。文章浏览阅读1.8k次。/*Java代码 将Drawable转化为Bitmap */ Bitmap drawableToBitmap(Drawable drawable) { int width = drawable.getIntrinsicWidth();Android Material Design :Line

    2024年02月03日
    浏览(41)
  • 基于区域生长的图像分割算法!

    图像分割的目的是将图像划分为多个不同的区域,所以我们可以直接从寻找图像中的区域来设计分割算法。区域生长正是一种基于区域寻找的传统图像分割算法。 区域生长基本原理 区域生长(Region Growth)算法是一种基于区域的传统图像分割算法。区域生长可以根据预先定义

    2024年02月05日
    浏览(34)
  • 点云分割-pcl区域生长算法

    1、本文内容 pcl的区域生长算法的使用和原理 2、平台/环境 cmake, pcl 3、转载请注明出处: https://blog.csdn.net/qq_41102371/article/details/131927376 参考:https://pcl.readthedocs.io/projects/tutorials/en/master/region_growing_segmentation.html#region-growing-segmentation https://blog.csdn.net/taifyang/article/details/124097186

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包