class Solution {
public:
int minPathSum(vector<vector<int> > &grid) {
int m = grid.size();
int n = grid[0].size();
for( int i = 1 ; i < m ; i++ ) {
grid[i][0] += grid[i-1][0];
}
for( int i = 1 ; i < n ; i++ ) {
grid[0][i] += grid[0][i-1];
}
for( int i = 1 ; i < m ; i++ ) {
for( int j = 1 ; j < n ; j++ ) {
grid[i][j] += min(grid[i-1][j],grid[i][j-1]);
}
}
return grid[m-1][n-1];
}
};
System Design for Beginners
A masterclass that helps early engineers and product managers become great at designing scalable systems.
180+ learners
Details →System Design Masterclass
A masterclass that helps you become great at designing scalable, fault-tolerant, and highly available systems.
1000+ learners
Details →Redis Internals
Learn internals of Redis by re-implementing some of the core features in Golang.
98+ learners
Details →