Skip to content

Commit 6879876

Browse files
authored
Create 2304-minimum-path-cost-in-a-grid.js
1 parent ada8e80 commit 6879876

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

2304-minimum-path-cost-in-a-grid.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number[][]} grid
3+
* @param {number[][]} moveCost
4+
* @return {number}
5+
*/
6+
var minPathCost = function(grid, moveCost) {
7+
const m = grid.length, n = grid[0].length
8+
const memo = Array.from({ length: 2 }, () => Array(n))
9+
for(let i = 0; i < n; i++) {
10+
memo[0][i] = grid[0][i]
11+
}
12+
let cur = 0
13+
for(let i = 0; i < m - 1; i++) {
14+
const nxt = cur ^ 1
15+
for(let t = 0; t < n; t++) {
16+
memo[nxt][t] = Infinity
17+
}
18+
for(let j = 0; j < n; j++) {
19+
const v = grid[i][j]
20+
for(let k = 0; k < n; k++) {
21+
const cost = moveCost[v][k]
22+
memo[nxt][k] = Math.min(memo[nxt][k], memo[cur][j] + grid[i + 1][k] + cost)
23+
}
24+
}
25+
cur ^= 1
26+
}
27+
28+
return Math.min(...memo[cur])
29+
};

0 commit comments

Comments
 (0)