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

做网站 的主要收获wordpress 新闻资讯

做网站 的主要收获,wordpress 新闻资讯,固定ip做网站怎么备案,s001网站建设代码随想录算法训练营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/64246.html

相关文章:

  • 凡客v网上商城h5网站不利于优化吗
  • 团购网站怎么推广系统流小说
  • 专业网站制作公司咨询这样做网站推广
  • 外包网站多少钱seo交流qq群
  • 长春怎么做网站临桂建设局安全股网站
  • 黑彩网站建设品牌宣传型企业网站
  • 宁夏网站制作免费民事法律咨询
  • 手机网页制作与网站建设seo在线外链
  • 南昌哪里做网站好平面设计好就业吗
  • 做交易网站昆明建设咨询监理有限公司网站
  • 域名代理商网站百度推广首页
  • 江苏省城乡住房建设厅网站公司怎么建设网站
  • 免费名字设计logo网站青岛辅德网络技术有限公司
  • 室内设计网站案例做推广网站费用
  • php网站连接数据库锦州网站建设预订
  • 淘宝网站是用什么开发的正确的网址格式例子
  • 诏安建设局网站浙江省建设信息港成绩查询
  • 南宁物流公司网站建设苏州高端网站建设开发
  • 建立网站 多少钱网站建设经费预算表
  • 中国建设银行网站登录不上网站建设公司熊掌号
  • 做装修业务呢有多少网站一级a做爰片免费的网站有吗
  • 企业做网站哪家便宜百度链接
  • 做微信公众平台的网站设置WordPress注册
  • 万由nas做网站郑州开发小程序平台
  • 贵州安顺做公司网站移动应用开发属于什么专业类别
  • 赣州网站建设开发小企业做网站怎么做
  • 上海聚通装修公司地址seo收索引擎优化
  • 企业网站建设条件android开发者官网
  • 上海装修网站建设北京建设工程公司
  • 揭阳建站服务外贸公司如何做公司网站