题目:

给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

输入:
[[1,3,1],[1,5,1],[4,2,1]
]
输出: 7
解释: 因为路径 1→3→1→1→1 的总和最小。

先看下dp方程,方程出来了,直接用代码实现方程就可以了。

func minPathSum(grid [][]int) int {if len(grid) == 0 || len(grid[0]) == 0 {return 0}//求长rows, columns := len(grid), len(grid[0])dp := make([][]int, rows)for i := 0; i < len(dp); i++ {dp[i] = make([]int, columns)}dp[0][0] = grid[0][0]for i := 1; i < rows; i++ {dp[i][0] = dp[i - 1][0] + grid[i][0]}for j := 1; j < columns; j++ {dp[0][j] = dp[0][j - 1] + grid[0][j]}for i := 1; i < rows; i++ {for j := 1; j < columns; j++ {dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]}}return dp[rows - 1][columns - 1]
}func min(x, y int) int {if x < y {return x}return y
}

代码就是dp方程的实现没有任何其他的,注意取最小值就可以了。

参考地址:https://leetcode-cn.com/problems/minimum-path-sum/solution/zui-xiao-lu-jing-he-by-leetcode-solution/

动态规划面试常考:最短路径和相关推荐

  1. 面试常考的常用数据结构与算法

    面试常考的常用数据结构与算法 数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易.在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考 ...

  2. PHP面试常考内容之Memcache和Redis(2)

    你好,是我琉忆. 继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读. 本周(2019.2-18至2-2 ...

  3. PHP面试常考内容之面向对象(3)

    PHP面试专栏正式起更,每周一.三.五更新,提供最好最优质的PHP面试内容. 继上一篇"PHP面试常考内容之面向对象(2)"发表后,今天更新面向对象的最后一篇(3).需要(1),( ...

  4. JAVA面试常考系列十

    转载自 JAVA面试常考系列十 题目一 Servlet是什么? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是用Java编写的服务器端程序 ...

  5. JAVA面试常考系列十一

    转载自 JAVA面试常考系列十一 题目一 什么是JSP? JSP(Java Server Page)是一个文本文档,是一种将静态内容和动态生成内容混合在一起的技术. JSP包含两种类型的文本:静态数据 ...

  6. JAVA面试常考系列九

    转载自 JAVA面试常考系列九 题目一 RMI架构层的结构是如何组成的? RMI体系结构由三层组成,分别是: 存根和骨架层(Stub and Skeleton Layer) 远程引用层(Remote ...

  7. JAVA面试常考系列八

    转载自 JAVA面试常考系列八 题目一 JDBC是什么? JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系 ...

  8. JAVA面试常考系列六

    转载自 JAVA面试常考系列六 题目一 一个Applet有哪些生命周期? 一个Applet的生命周期分为以下四个阶段: Init 每次加载时都会初始化一个小程序.此方法通知Applet,方法已经被装入 ...

  9. JAVA面试常考系列五

    转载自 JAVA面试常考系列五 题目一 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么? 吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序 ...

最新文章

  1. cx_oracle写日志信息_MongoDB与MySQL关于写确认的异同
  2. IM消息送达保证机制实现(二):保证离线消息的可靠投递
  3. java sql 参数_java jdbc连接数据库,Properties 属性设置参数方法
  4. PAT:1042. Shuffling Machine (20) AC
  5. nginx 文件说明(非文件配置说明)
  6. html 5 本地数据库(Web Sql Database)
  7. 你解决的问题比你编写的代码更重要! 1
  8. IDEA无法导入HttpServlet包解决方法
  9. JavaScript中的innerHTML,innerHTML,value属性
  10. 用C语言编写约瑟夫环程序,约瑟夫环C语言,请高手检查我的程序
  11. 宝石光是什么石头_捡到这些石头,都是值钱货
  12. 迁移学习和数据扩充(附代码)
  13. Java进阶:Mybatis学习
  14. 关于ext4 simg fill chunk type
  15. iic标准c语言,I2C总线之(三)---以C语言理解IIC
  16. linux下原始套接字编程错误:Operation not supported
  17. 动软代码生成器的具体使用方法步骤
  18. 038-拯救大兵瑞恩之 TiDB 如何在 TiKV 损坏的情况下恢复
  19. Linux下vsftpd服务的部署
  20. 商场三十六计——第8计 “暗渡陈仓”

热门文章

  1. 【Android 异步操作】手写 Handler ( Handler 发送与处理消息 | Handler 初始化 | 完整 Handler 代码 )
  2. 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )
  3. matplotlib模块学习
  4. CSS权重的等级划分
  5. ●BZOJ 4596 [Shoi2016]黑暗前的幻想乡
  6. 51Nod 1453 抽彩球
  7. ubuntu apt-get dpkg应用中的一些问题及解决方法
  8. 【LeetCode】-- 260. Single Number III
  9. 多态基类与虚析构函数
  10. Python开发【第十二篇】:DOM