标签:right DP int Sum Minimum grid numbers 64 dp
Given a m x n
grid filled with non-negative numbers, find a path from top left to bottom right, which minimizes the sum of all numbers along its path.
Note: You can only move either down or right at any point in time.
Solution
很显然的DP:
\[dp[i][j] =\min(dp[i-1][j],dp[i][j-1] )+g[i][j] \]点击查看代码
class Solution {
public:
int minPathSum(vector<vector<int>>& grid) {
int dp[202][202];
int n = grid.size(), m = grid[0].size();
if(n==1 && m==1){return grid[0][0];}
else{
dp[0][0] = grid[0][0];
for(int i=1;i<n;i++)dp[i][0]=dp[i-1][0]+grid[i][0];
for(int i=1;i<m;i++)dp[0][i]=dp[0][i-1]+grid[0][i];
for(int i=1;i<n;i++){
for(int j=1;j<m;j++){
dp[i][j] = min(dp[i][j-1]+grid[i][j],dp[i-1][j]+grid[i][j]);
}
}
}
return dp[n-1][m-1];
}
};
标签:right,DP,int,Sum,Minimum,grid,numbers,64,dp 来源: https://www.cnblogs.com/xinyu04/p/16247788.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。