博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Minimum Path Sum 求方格总从左上到右下的最短路径 简单动态规划
阅读量:4107 次
发布时间:2019-05-25

本文共 757 字,大约阅读时间需要 2 分钟。

题目:

解答:

简单的动态规划:

dp[i][j] = min(dp[i - 1][j] , dp[i][j - 1]) + grid[i][j];

初始化:

 dp[0][0] = grid[0][0];

 dp[i][0] = dp[i - 1][0] + grid[i][0];

 dp[0][i] = dp[0][i - 1] + grid[0][i];

代码:

class Solution {  public:	  int minPathSum(vector
> &grid) { int m = grid.size(); if (m == 0) return 0; int n = grid[0].size(); vector
> dp(m, vector
(n)); dp[0][0] = grid[0][0]; for (int i = 1; i < m; i++) dp[i][0] = dp[i - 1][0] + grid[i][0]; for (int i = 1; i < n; i++) dp[0][i] = dp[0][i - 1] + grid[0][i]; for (int i = 1; i < m; i++) { for (int j = 1; j < n; j++) { dp[i][j] = min(dp[i - 1][j] , dp[i][j - 1]) + grid[i][j]; } } return dp[m - 1][n - 1]; } };

转载地址:http://xytsi.baihongyu.com/

你可能感兴趣的文章
Lua与VC6结合
查看>>
Step By Step(Lua调用C函数)
查看>>
Step By Step(C调用Lua)
查看>>
Step By Step(Lua-C API简介)
查看>>
Step By Step(Lua系统库)
查看>>
Step By Step(Lua输入输出库)
查看>>
Step By Step(Lua字符串库)
查看>>
Step By Step(Lua弱引用table)
查看>>
Step By Step(Lua面向对象)
查看>>
Step By Step(Lua模块与包)
查看>>
Step By Step(Lua环境)
查看>>
Step By Step(Lua元表与元方法)
查看>>
Step By Step(Lua数据持久化)
查看>>
Step By Step(Lua数据结构)
查看>>
Step By Step(Lua编译执行与错误)
查看>>
Step By Step(Lua迭代器和泛型for)
查看>>
Step By Step(Lua函数)
查看>>
Step By Step(Lua表达式和语句)
查看>>
Step By Step(Lua基础知识)
查看>>
Step By Step(Lua开篇)
查看>>