当前位置: 首页 > news >正文

做阿里巴巴网站口碑呼和浩特网站推广公司

做阿里巴巴网站口碑,呼和浩特网站推广公司,做自己的网站好还是博客好,开个网站做代理服务器代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯 文章目录 代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯理论基础一、常规题目二、解题步骤…代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯 文章目录 代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯理论基础一、常规题目二、解题步骤 509. 斐波那契数一、动态规划v1二、动态规划v2三、动态规划v3 70. 爬楼梯一、动态规划v1二、动态规划v2 746. 使用最小花费爬楼梯一、dp v1二、dp v2 理论基础 一、常规题目 二、解题步骤 对于动态规划问题我将拆解为如下五步曲这五步都搞清楚了才能说把动态规划真的掌握了 确定dp数组dp table以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 509. 斐波那契数 题目链接 确定dp数组以及下标的含义 dp[i]的定义为第i个数的斐波那契数值是dp[i]确定递推公式 状态转移方程 dp[i] dp[i - 1] dp[i - 2];dp数组如何初始化 题目中把如何初始化也直接给我们了如下 dp[0] 0; dp[1] 1;确定遍历顺序 从递归公式dp[i] dp[i - 1] dp[i - 2];中可以看出dp[i]是依赖 dp[i - 1] 和 dp[i - 2]那么遍历的顺序一定是从前到后遍历的打印dp数组 一、动态规划v1 class Solution:def fib(self, n):# 排除 Corner Caseif n 0:return 0# 创建 dp table dp [0] * (n 1)# 初始化 dp 数组dp[0] 0dp[1] 1# 遍历顺序: 由前向后。因为后面要用到前面的状态for i in range(2, n 1):# 确定递归公式/状态转移公式dp[i] dp[i - 1] dp[i - 2]# 返回答案return dp[n二、动态规划v2 class Solution:def fib(self, n):if n1:return ndp[0,1]for i in range(2,n1):total dp[0]dp[1]dp[0]dp[1]dp[1]total return total三、动态规划v3 class Solution:def fib(self, n):if n1:return nprev0,prev1 0,1for _ in range(2,n1):cur prev0 prev1prev0,prev1 prev1,curreturn cur70. 爬楼梯 题目链接 确定dp数组以及下标的含义 dp[i]的定义为爬到第i层楼梯有dp[i]种方法确定递推公式 dp[i - 1]上i-1层楼梯有dp[i - 1]种方法那么再一步跳一个台阶不就是dp[i]了么。 dp[i - 2]上i-2层楼梯有dp[i - 2]种方法那么再一步跳两个台阶不就是dp[i]了么 状态转移方程 dp[i] dp[i - 1] dp[i - 2];dp数组如何初始化 dp[1] 1; dp[2] 2;确定遍历顺序 从递归公式dp[i] dp[i - 1] dp[i - 2];中可以看出dp[i]是依赖 dp[i - 1] 和 dp[i - 2]那么遍历的顺序一定是从前到后遍历的打印dp数组 一、动态规划v1 class Solution(object):def climbStairs(self, n)::type n: int:rtype: intdp [0]*(n1)if n 2:return ndp[1]1dp[2]2for i in range(3,n1):dp[i]dp[i-1]dp[i-2]return dp[n]二、动态规划v2 class Solution(object):def climbStairs(self, n)::type n: int:rtype: intdp[0,1,2]if n 2:return nfor i in range(3,n1):total dp[1]dp[2]dp[1]dp[2]dp[2]totalreturn total746. 使用最小花费爬楼梯 题目链接 确定dp数组以及下标的含义 dp[i]的定义为到达第i台阶所花费的最少体力为dp[i]确定递推公式 dp[i - 1] 跳到 dp[i] 需要花费 dp[i - 1] cost[i - 1] dp[i - 2] 跳到 dp[i] 需要花费 dp[i - 2] cost[i - 2] 状态转移方程 : dp[i] min(dp[i - 1] cost[i - 1], dp[i - 2] cost[i - 2]);dp数组如何初始化 dp[0] 0; dp[1] 0;确定遍历顺序 因为是模拟台阶而且dp[i]由dp[i-1]dp[i-2]推出所以是从前到后遍历cost数组就可以了打印dp数组 一、dp v1 class Solution(object):def minCostClimbingStairs(self, cost)::type cost: List[int]:rtype: intdp [0] * (len(cost) 1)dp[0] 0 # 初始值表示从起点开始不需要花费体力dp[1] 0 # 初始值表示经过第一步不需要花费体力for i in range(2, len(cost) 1):# 在第i步可以选择从前一步i-1花费体力到达当前步或者从前两步i-2花费体力到达当前步# 选择其中花费体力较小的路径加上当前步的花费更新dp数组dp[i] min(dp[i - 1] cost[i - 1], dp[i - 2] cost[i - 2])return dp[len(cost)] # 返回到达楼顶的最小花费二、dp v2 class Solution(object):def minCostClimbingStairs(self, cost)::type cost: List[int]:rtype: intdp00dp10for i in range(2,len(cost)1):dp2min(dp1cost[i-1],dp0cost[i-2])dp0dp1dp1dp2return dp2
http://www.w-s-a.com/news/868623/

相关文章:

  • 明年做哪些网站致富网站站长 感受
  • 东莞营销网站建设优化怎么做微信网站推广
  • 网站建设一个多少钱php网站服务器怎么来
  • 引流用的电影网站怎么做2012服务器如何做网站
  • 什么网站可以做推广广州安全信息教育平台
  • 网站开发具备的相关知识wordpress简约文字主题
  • asp网站伪静态文件下载seo外包公司哪家好
  • 淘宝客网站根目录怎么建个废品网站
  • 网站备案更改需要多久百度免费网站空间
  • 外发加工是否有专门的网站wordpress主页 摘要
  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件
  • 网站建设中 请稍后访问互联网营销设计
  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程
  • 四川成都网站制作微信广告平台推广
  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格
  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类