Skip to content

Commit 741ad74

Browse files
authored
Create 1292-maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold.js
1 parent bdc4cdb commit 741ad74

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* @param {number[][]} mat
3+
* @param {number} threshold
4+
* @return {number}
5+
*/
6+
const maxSideLength = function (mat, threshold) {
7+
let m = mat.length
8+
let n = mat[0].length
9+
const sum = Array.from({ length: m + 1 }, () => Array(n + 1).fill(0))
10+
11+
let res = 0
12+
let len = 1 // square side length
13+
14+
for (let i = 1; i <= m; i++) {
15+
for (let j = 1; j <= n; j++) {
16+
sum[i][j] =
17+
sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + mat[i - 1][j - 1]
18+
19+
if (
20+
i >= len &&
21+
j >= len &&
22+
sum[i][j] - sum[i - len][j] - sum[i][j - len] + sum[i - len][j - len] <=
23+
threshold
24+
)
25+
res = len++
26+
}
27+
}
28+
29+
return res
30+
}

0 commit comments

Comments
 (0)