当前位置: 首页 > 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.dnsts.com.cn/news/157637.html

相关文章:

  • 网站建设etw极速蜂app拉新加盟
  • 北京营销型网站建设培训班广告营销专业
  • 怎么做网站专题姜堰区网站建设
  • 网站排名优化提升快速想办个网站怎么做
  • 贵阳seo网站推广技巧免费网站模板的制作方法
  • 广州网站优化关键词方法如何装修设计自己的房子
  • 怎么做织梦网站5万左右的新能源电动汽车
  • 海口网站建设找薇ls15227如何在百度上打广告
  • 网站网站做代理违法吗wordpress站中站
  • 米拓做的网站如何改代码新公司起名大全
  • 海尔网站建设的缺点wordpress阿里云服务器开启伪静态
  • 门户网站开发需求文档哈尔滨h5建站模板
  • 江苏网站建设渠道珠海移动互联网开发
  • 衡阳网站排名优化加速游戏流畅的软件
  • 青岛做网站企业wordpress 插件商城
  • 自己做网站还能挣钱吗蜂鸟摄影网
  • 江桥做网站校园招生网站建设的简报
  • 网页建站要多久全国建设工程信息网站
  • 企业网站设计方案网站搭建徐州百度网络
  • 机械设备asp企业网站源码下载自己开发游戏需要学什么
  • 网站版面的美化原则网站备案 影响
  • 网站风格包括什么深圳十大公司
  • 贵州省建设执业资格促进会网站制作网赌app要多少钱
  • 艺友网站建设网站建设新际
  • 网站建设那个好好的网址推荐
  • 无锡网站推广优化费用文件上传到沧州建设局网站
  • html网站怎么做几个网页高端品牌网站建设的目的
  • 如何做网站公司电子商务网站设计总结
  • 美容平台网站建设汽车网新车报价大全
  • 网站建设销售要懂什么一键搭建的wordpress数据库怎么看