Minimum Path Cost in a Grid LeetCode solution in C++

1
class Solution {
2
public:
3
int solve(vector<vector<int>> &grid, vector<vector<int>> &moveCost, int i, int j, int n, int m) {
4
if (i == n - 1) {
5
return grid[i][j];
6
}
7
int ans = INT_MAX;
8
for (int k = 0; k < m; k++) {
9
ans = min(ans, grid[i][j] + moveCost[grid[i][j]][k] + solve(grid, moveCost, i + 1, k, n, m));
10
}
11
return ans;
12
}
13
int minPathCost(vector<vector<int>> &grid, vector<vector<int>> &moveCost) {
14
int ans = INT_MAX;
15
int n = grid.size();
16
int m = grid[0].size();
17
for (int i = 0; i < m; i++) {
18
ans = min(ans, solve(grid, moveCost, 0, i, n, m));
19
}
20
return ans;
21
}
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0