2
* @param {number[][]} mat6
var matrixBlockSum = function (mat, k) {8
let dp = Array(mat.length + 1);9
dp[0] = Array(mat[0].length).fill(0);12
for (let i = 0; i < mat.length; i++) {13
dp[i + 1] = Array(mat[0].length).fill(0);14
for (let j = 0; j < mat[0].length; j++) {15
dp[i + 1][j] += mat[i][j] + sum;22
for (let j = 0; j < mat[0].length; j++) {23
for (let i = 0; i < mat.length; i++) {33
for (let i = 0; i < mat.length; i++) {34
let r1 = Math.max(0, i - k);35
let r2 = Math.min(mat.length - 1, i + k);36
for (let j = 0; j < mat[0].length; j++) {37
let c1 = Math.max(0, j - k);38
let c2 = Math.min(mat[0].length - 1, j + k);40
let value = dp[r2][c2];43
value -= dp[r1 - 1][c2];46
value -= dp[r2][c1 - 1];48
if (r1 - 1 >= 0 && c1 - 1 >= 0) {49
value += dp[r1 - 1][c1 - 1];