Skip to content

Commit 2db0eac

Browse files
authored
Create 2435-paths-in-matrix-whose-sum-is-divisible-by-k.js
1 parent 8dbb2ee commit 2db0eac

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
const initialize3DArray = (n, m, p) => { let r = []; for (let i = 0; i < n; i++) { let d = []; for (let j = 0; j < m; j++) { let t = Array(p).fill(0); d.push(t); } r.push(d); } return r; };
2+
3+
const mod = 1e9 + 7;
4+
/**
5+
* @param {number[][]} grid
6+
* @param {number} k
7+
* @return {number}
8+
*/
9+
const numberOfPaths = (grid, k) => {
10+
const g = grid, K = k
11+
let n = g.length, m = g[0].length, dp = initialize3DArray(n + 1, m + 1, K);
12+
dp[0][1][0] = 1;
13+
for (let i = 0; i < n; i++) {
14+
for (let j = 0; j < m; j++) {
15+
for (let k = 0; k < K; k++) {
16+
dp[i + 1][j + 1][(k + g[i][j]) % K] += dp[i][j + 1][k];
17+
dp[i + 1][j + 1][(k + g[i][j]) % K] %= mod;
18+
dp[i + 1][j + 1][(k + g[i][j]) % K] += dp[i + 1][j][k];
19+
dp[i + 1][j + 1][(k + g[i][j]) % K] %= mod;
20+
}
21+
}
22+
}
23+
return dp[n][m][0];
24+
};

0 commit comments

Comments
 (0)