1314--力扣情人节特别篇

给你一个 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 int[][] matrixBlockSum(int[][] mat, int K) {

int[][] res = new int[mat.length][mat[0].length];

for (int i = 0; i < mat.length; i++) {

for (int j = 0; j < mat[0].length; j++) {

int sum = 0;

for (int r = Math.max(i - K, 0); r <= Math.min(i + K, mat.length - 1); r++) {

for (int c = Math.max(j - K, 0); c <= Math.min(j + K, mat[0].length - 1); c++) {

sum += mat[r][c];

}

}

res[i][j] = sum;

}

}

return res;

}

}

相关推荐
jianfeng_zhu9 分钟前
整数数组匹配
数据结构·c++·算法
smj2302_7968265219 分钟前
解决leetcode第3782题交替删除操作后最后剩下的整数
python·算法·leetcode
❀͜͡傀儡师30 分钟前
SpringBoot 扫码登录全流程:UUID 生成、状态轮询、授权回调详解
java·spring boot·后端
a努力。44 分钟前
国家电网Java面试被问:Spring Boot Starter 制作原理
java·spring boot·面试
一 乐1 小时前
酒店预约|基于springboot + vue酒店预约系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
LYFlied1 小时前
【每日算法】LeetCode 136. 只出现一次的数字
前端·算法·leetcode·面试·职场和发展
guslegend1 小时前
Tomact高级使用及原理剖析
java
Code blocks1 小时前
SpringBoot从0-1集成Minio对象存储
java·spring boot·后端
故渊ZY2 小时前
MyBatis事务原理与实战指南
java·mybatis