(力扣)1314.矩阵区域和

news/2024/4/24 5:17:43/

给你一个 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]]

提示:

  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n, k <= 100
  • 1 <= mat[i][j] <= 100

此题可以用前缀和来做,但是比较难点儿的是边界不好控制!!接下来看看代码吧~

class Solution {
public:
vector<vector<int>> sums;vector<vector<int>> matrixBlockSum(vector<vector<int>>& mat, int k) {int rlen=mat.size(),clen=mat[0].size();sums.resize(rlen+1,vector<int>(clen+1));//初始化空间for(int i=1;i<=rlen;i++){for(int j=1;j<=clen;j++){sums[i][j]=sums[i-1][j]+sums[i][j-1]-sums[i-1][j-1]+mat[i-1][j-1];//求前缀和}}vector<vector<int>> res(rlen,vector<int>(clen));//此处一定要初始化空间,否则报空指针for(int i=0;i<rlen;i++){for(int j=0;j<clen;j++){// 分别获取左上角和右下角的坐标int r1=max(i-k,0),c1=max(j-k,0);int r2=min(i+k,rlen-1),c2=min(j+k,clen-1);// 通过二维前缀和公式获取某个区间内的和res[i][j]=sums[r2+1][c2+1]-sums[r2+1][c1]-sums[r1][c2+1]+sums[r1][c1];}}return res;}
};

提交通过!


http://www.ppmy.cn/news/1346425.html

相关文章

ChatGPT在肾脏病学领域的专业准确性评估

ChatGPT在肾脏病学领域的专业表现评估 随着人工智能技术的飞速发展&#xff0c;ChatGPT作为一个先进的机器学习模型&#xff0c;在多个领域显示出了其对话和信息处理能力的潜力。近期发表在《美国肾脏病学会临床杂志》&#xff08;影响因子&#xff1a;9.8&#xff09;上的一项…

Maven pom的distributionManagement配置

目录 1 构件的发布 2 推送仓库设置&#xff08;常用&#xff09; 3 部署网站和文档 4 重命名构件 distributionManagement的作用是"分发构件至远程仓库"。 mvn install 会将项目生成的构件安装到本地Maven仓库&#xff0c;mvn deploy 用来将项目生成的构件分发到…

深度学习系列56:使用whisper进行语音转文字

1. openai-whisper 这应该是最快的使用方式了。安装pip install -U openai-whisper&#xff0c;接着安装ffmpeg&#xff0c;随后就可以使用了。模型清单如下&#xff1a; 第一种方式&#xff0c;使用命令行&#xff1a; whisper japanese.wav --language Japanese --model…

WebGPU Inter-stage 变量

1. webgpu Inter-stage 变量 Inter-stage变量在顶点着色器和片段着色器之间发挥作用。 这里我们声明了一个结构体 struct&#xff0c;这是在顶点着色器和片段着色器之间增加 Inter-stage 变量的一种简便方法。 struct OurVertexShaderOutput {builtin(position) position : …

微信小程序新手入门教程四:样式设计

WXSS (WeiXin Style Sheets)是一套样式语言&#xff0c;用于描述 WXML 的组件样式&#xff0c;决定了 WXML 的组件会怎么显示。 WXSS 具有 CSS 大部分特性&#xff0c;同时为了更适合开发微信小程序&#xff0c;WXSS 对 CSS 进行了扩充以及修改。与 CSS 相比&#xff0c;WXSS …

GEE数据集——全球保护价值的地区数据集

具有全球保护价值的地区 自然地图项目提供了一系列全球价值保护图层。这些地图是通过共同优化生物多样性和碳和/或水等国家保护目标绘制的。它们以连续的比例描述了对扩大保护工作具有最大潜在价值的土地面积。前言 – 人工智能教程 注释 此处的 "保护 "不应被理解为…

next项目页面性能调优

next项目页面性能调优 一般来说性能优化可以分为加载时、运行时两部分的优化。 扩展参考链接&#xff1a; 前端性能优化 24 条建议 Webpack 4进阶–从前的日色变得慢 &#xff0c;一下午只够打一次包 Webpack 分包优化首屏加载 参考指标 FCP&#xff08;First Contentful P…

spring boot和spring cloud项目中配置文件application和bootstrap中的值与对应的配置类绑定处理

在前面的文章基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136065211 加载完文件转换为 Environment 中对应的值之后&#xff0c;接下来需要将对应的值与对应的配置类进行绑定&#xff0c;方便对应的组件取值处理接下来的操作。 对应的配置值与配置类绑定通过 Con…

第九个知识点:内部对象

Date对象: <script>var date new Date();date.getFullYear();//年date.getMonth();//月date.getDate();//日date.getDay();//星期几date.getHours();//时date.getMinutes();//分date.getSeconds();//秒date.getTime();//获取时间戳&#xff0c;时间戳时全球统一&#x…

高速接口PCB布局指南(五)高速差分信号布线(三)

高速接口PCB布局指南&#xff08;五&#xff09;高速差分信号布线&#xff08;三&#xff09; 1.表面贴装器件焊盘不连续性缓解2.信号线弯曲3.高速信号建议的 PCB 叠层设计4.ESD/EMI 注意事项5.ESD/EMI 布局规则 tips&#xff1a;资料主要来自网络&#xff0c;仅供学习使用。 …

leetcode1079:游戏玩法分析——求留存率

求留存率 题目描述题解 题目描述 表&#xff1a;Activity --------------------- | Column Name | Type | --------------------- | player_id | int | | device_id | int | | event_date | date | | games_played | int | --------------------- &#xff08;player_id&…

Apollo2.2.0 arm 达梦 人大金仓 适配

基本思路和我之前改的oracle的类似&#xff0c;这里就不赘述了。 Apollo oracle适配_apollo oracle脚本-CSDN博客 目前实现了kingbase8 pgsql兼容模式下适配。达梦 mysql兼容模式下的适配&#xff0c;兼容arm的国产处理器&#xff0c;直接上git链接&#xff0c;有问题私。不同…

MyBatisPlus基础操作之增删改查

目录 一、基本使用 1.1 插入数据 1.2 删除操作 1.3 更新操作 二、条件构造器Wrapper 2.1 常用AbstractWrapper方法 2.1.1 示例一 2.2.2 示例二 2.2.3 示例三 2.2 常用QueryWrapper方法 2.2.1 示例一 2.2.2 示例二 2.2.3 示例三&#xff08;常用&#xff09; 2.3 常…

windowsserver 2016 PostgreSQL9.6.3-2升级解决其安全漏洞问题

PostgreSQL 身份验证绕过漏洞(CVE-2017-7546) PostgreSQL 输入验证错误漏洞(CVE-2019-10211) PostgreSQL adminpack扩展安全漏洞(CVE-2018-1115) PostgreSQL 输入验证错误漏洞(CVE-2021-32027) PostgreSQL SQL注入漏洞(CVE-2019-10208) PostgreSQL 安全漏洞(CVE-2018-1058) …

小白水平理解面试经典题目LeetCode 21. Merge Two Sorted Lists【Linked List类】

21. 将两个有序列表融合 Linked List 数据结构也在面试中经常出现&#xff0c;作为很好处理客户信息存储的结构很方便&#xff0c;也是重点必会项目之一&#xff0c;看看我们如何教懂白月光&#xff0c;成功邀约看电影吧。 小白渣翻译 你将获得两个排序链表 list1 和 list2 …

Linux---信号

前言 到饭点了&#xff0c;我点了一份外卖&#xff0c;然后又开了一把网游&#xff0c;这个时候&#xff0c;我在打游戏的过程中&#xff0c;我始终记得外卖小哥会随时给我打电话&#xff0c;通知我我去取外卖&#xff0c;这个时候游戏还没有结束。我在打游戏的过程中需要把外…

职业发展 - 一个专注于嵌入式物联网架构设计的攻城狮(转载)

1 关于我 很高兴大家都关注到我&#xff0c;从而看到这篇简要的介绍&#xff0c;下面有更多的关于我。 我是一个嵌入式架构师&#xff0c;早前从事过智能电网相关的电力设备开发&#xff0c;金融POS机开发&#xff0c;以及eSIM相关的软件开发&#xff0c;现在主要在做嵌入式I…

【C语言】位与移位操作符详解

目录 1.⼆进制和进制转换 ①十进制&#xff1a;生活中最常用 ②二进制&#xff1a;计算机中使用的&#xff0c;每个数字称为一个比特 ③八进制、十六进制也如上 ④二进制转十进制 ⑤十进制转二进制 ⑥二进制转八进制 ⑦二进制转十六进制 2.原码、反码、补码 3.移位操…

Kubernetes基础(十二)-kube-prox/CNI/服务发现(DNS域名解析)区别

1 CNI CNI&#xff08;Container Network Interface&#xff09;是一个规范&#xff0c;定义了如何创建和配置容器网络。CNI 插件用于实现这些规范&#xff0c;以便 Kubernetes 集群中的容器能够互相通信和访问外部网络。CNI 的作用如下&#xff1a; 容器通信: CNI 插件负责创…

LCP 30. 魔塔游戏 - 力扣(LeetCode)

题目描述 小扣当前位于魔塔游戏第一层&#xff0c;共有 N 个房间&#xff0c;编号为 0 ~ N-1。每个房间的补血道具/怪物对于血量影响记于数组 nums&#xff0c;其中正数表示道具补血数值&#xff0c;即血量增加对应数值&#xff1b;负数表示怪物造成伤害值&#xff0c;即血量减…