网站大量收购独家精品文档,联系QQ:2885784924

leetcode课件第九课_动态规划.pdf

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
法律 o 本课件包括:演示文稿,示例,代码,题库,视频和声 音等,小象学院拥有完全知识产权的权利;只限于善意 学习者在本课程使用,不得在课程范围外向任何第 散播。任何其他人或机构不得盗版、 、仿造其中的 创意,我们将保留一切通过法律手段追究违反者的权利。 o 课程详情请咨询 n 公众号:小象 n 新浪微博:ChinaHadoop 互联网新技术在线教育领航者 第九课 动态规划 林沐 互联网新技术在线教育领航者 内容概述 1.8道经典动态规划的相关题目 例1:爬楼梯(easy) 例2:打家劫舍(easy) 例3:最大字段和(easy) 例4:找零钱(medium) 例5:三角形(medium) 例6:最长上升子序列(medium,hard) 例7:最小路径和(medium) 例8:地牢游戏(hard) 2.详细讲解题目解题方法、代码实现 互联网新技术在线教育领航者 动态规划(Dynamic Programming)概述 动态规划(dynamic programming)是运筹学的一个分支,是求解 决策过程最优化的数学方法。它是20世纪50年代初 数学 家R.E.Bellman等人提出的最优化原理,它利用各阶段之间的 关系,逐个求解,最终求得全局最优解。在设计动态规划算法 时,需要确认原问题与子问题、动态规划状态、边界状态结值、 状态转移方程等关键要素。 在算法面试中,动态规划是最常考察的题型之一,大多数面试 官都以否可较好的解决动态规划相关问题来区分候选是否 聪明。 互联网新技术在线教育领航者 例1: 爬楼梯 在爬楼梯时,每次可向上走1阶台阶或2阶台阶,问有n 阶楼 梯有多少种上楼的方式? 选自 LeetCode 70. Climbing S rs 难度:Easy 互联网新技术在线教育领航者 例1: 有哪些信誉好的足球投注网站,回溯法 互联网新技术在线教育领航者 例1:思考 到达楼梯的第i阶有多少种爬法,与第几阶的爬法直接相关, 如何递推的求出第i阶爬法数量? 互联网新技术在线教育领航者 例1: 由于每次最多爬2阶,楼梯的第i阶,只可能从楼梯第i-1阶与第i-2阶到达。故 到达第i阶有多少种爬法,只与第i-1阶、第i-2阶的爬法数量直接相关。 互联网新技术在线教育领航者 例1:算法思路 1.设置递推数组dp[0...n] ,dp[i]代表到达第i阶,有多少种走法,初始化数组元素为0 。 2.设置到达第1阶台阶,有1种走法;到达第2阶台阶,有2种走法。 3.利用i循环递推从第3阶至第n阶结果: 到达第i阶的方式数量 = 到达第i-1阶的方式数量 + 到达第i-2阶的方式数量 互联网新技术在线教育领航者 例1:课堂练习 3分钟时间填写代码, 有问题随时提出! 互联网新技术在线教育领航者 例1:实现 互联网新技术在线教育领航者 例1:测试与leetcode提交结果 互联网新技术在线教育领航者 例1:动态规划原理 1.确认原问题与子问题: 原问题为求n 阶台阶所有走法的数量,子 问题是求1阶台阶、2阶台阶、...、n-1阶台 阶的走法。 2.确认状态: 本题的动态规划状态单一,第i个状态 即为i阶台阶的所有走法数量。 3.确认边界状态的值: 边界状态为1阶台阶与2 阶台阶的走法,1 阶台阶有1种走法,2 阶台阶有2种走法, 即dp[1] = 1 ,dp[2] = 2 。 4.确定状态转移方程: 将求第i个状态的值转移为求第i-1个状态 值与第i-2个状态的值,动态规划转移方 程,dp[i] = dp[i-1]

文档评论(0)

159****9610 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档