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;

}

}

相关推荐
断剑zou天涯1 小时前
【算法笔记】窗口内最大值或最小值的更新结构
java·笔记·算法
smj2302_796826521 小时前
解决leetcode第3753题范围内总波动值II
python·算法·leetcode
m***66732 小时前
SQL 实战—递归 SQL:层级结构查询与处理树形数据
java·数据库·sql
骑着猪去兜风.3 小时前
线段树(二)
数据结构·算法
鲸沉梦落4 小时前
Java中的Stream
java
yihuiComeOn4 小时前
[源码系列:手写Spring] AOP第二节:JDK动态代理 - 当AOP遇见动态代理的浪漫邂逅
java·后端·spring
fengfuyao9855 小时前
竞争性自适应重加权算法(CARS)的MATLAB实现
算法
散峰而望5 小时前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
leoufung5 小时前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表
Porunarufu5 小时前
Java·关于List
java·开发语言