动态规划面试常考:最短路径和
题目:
给定一个包含非负整数的 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/
动态规划面试常考:最短路径和相关推荐
- 面试常考的常用数据结构与算法
面试常考的常用数据结构与算法 数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易.在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考 ...
- PHP面试常考内容之Memcache和Redis(2)
你好,是我琉忆. 继周一(2019.2-18)发布的"PHP面试常考内容之Memcache和Redis(1)"后,这是第二篇,感谢你的支持和阅读. 本周(2019.2-18至2-2 ...
- PHP面试常考内容之面向对象(3)
PHP面试专栏正式起更,每周一.三.五更新,提供最好最优质的PHP面试内容. 继上一篇"PHP面试常考内容之面向对象(2)"发表后,今天更新面向对象的最后一篇(3).需要(1),( ...
- JAVA面试常考系列十
转载自 JAVA面试常考系列十 题目一 Servlet是什么? Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是用Java编写的服务器端程序 ...
- JAVA面试常考系列十一
转载自 JAVA面试常考系列十一 题目一 什么是JSP? JSP(Java Server Page)是一个文本文档,是一种将静态内容和动态生成内容混合在一起的技术. JSP包含两种类型的文本:静态数据 ...
- JAVA面试常考系列九
转载自 JAVA面试常考系列九 题目一 RMI架构层的结构是如何组成的? RMI体系结构由三层组成,分别是: 存根和骨架层(Stub and Skeleton Layer) 远程引用层(Remote ...
- JAVA面试常考系列八
转载自 JAVA面试常考系列八 题目一 JDBC是什么? JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系 ...
- JAVA面试常考系列六
转载自 JAVA面试常考系列六 题目一 一个Applet有哪些生命周期? 一个Applet的生命周期分为以下四个阶段: Init 每次加载时都会初始化一个小程序.此方法通知Applet,方法已经被装入 ...
- JAVA面试常考系列五
转载自 JAVA面试常考系列五 题目一 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么? 吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序 ...
最新文章
- cx_oracle写日志信息_MongoDB与MySQL关于写确认的异同
- IM消息送达保证机制实现(二):保证离线消息的可靠投递
- java sql 参数_java jdbc连接数据库,Properties 属性设置参数方法
- PAT:1042. Shuffling Machine (20) AC
- nginx 文件说明(非文件配置说明)
- html 5 本地数据库(Web Sql Database)
- 你解决的问题比你编写的代码更重要! 1
- IDEA无法导入HttpServlet包解决方法
- JavaScript中的innerHTML,innerHTML,value属性
- 用C语言编写约瑟夫环程序,约瑟夫环C语言,请高手检查我的程序
- 宝石光是什么石头_捡到这些石头,都是值钱货
- 迁移学习和数据扩充(附代码)
- Java进阶:Mybatis学习
- 关于ext4 simg fill chunk type
- iic标准c语言,I2C总线之(三)---以C语言理解IIC
- linux下原始套接字编程错误:Operation not supported
- 动软代码生成器的具体使用方法步骤
- 038-拯救大兵瑞恩之 TiDB 如何在 TiKV 损坏的情况下恢复
- Linux下vsftpd服务的部署
- 商场三十六计——第8计 “暗渡陈仓”
热门文章
- 【Android 异步操作】手写 Handler ( Handler 发送与处理消息 | Handler 初始化 | 完整 Handler 代码 )
- 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )
- matplotlib模块学习
- CSS权重的等级划分
- ●BZOJ 4596 [Shoi2016]黑暗前的幻想乡
- 51Nod 1453 抽彩球
- ubuntu apt-get dpkg应用中的一些问题及解决方法
- 【LeetCode】-- 260. Single Number III
- 多态基类与虚析构函数
- Python开发【第十二篇】:DOM