8.Minimum Path Sum
Example:
Input:
[
[1,3,1],
[1,5,1],
[4,2,1]
]
Output: 7
Explanation: Because the path 1β3β1β1β1 minimizes the sum.Solution : (Dynamic Programming)
class Solution
{
public:
int minPathSum(vector<vector<int>> &grid)
{
int n = grid.size();
int m = grid[0].size();
int arr[n][m];
arr[0][0] = grid[0][0];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (i == 0 && j == 0)
{
continue;
}
if (i == 0)
{
arr[i][j] = arr[i][j - 1] + grid[i][j];
}
else if (j == 0)
{
arr[i][j] = arr[i - 1][j] + grid[i][j];
}
else
{
arr[i][j] = grid[i][j] + min(arr[i - 1][j], arr[i][j - 1]);
}
}
}
return arr[n - 1][m - 1];
}
};Last updated