当前位置: 首页 > 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


理论基础

一、常规题目

在这里插入图片描述

二、解题步骤

对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了!

  1. 确定dp数组(dp table)以及下标的含义
  2. 确定递推公式
  3. dp数组如何初始化
  4. 确定遍历顺序
  5. 举例推导dp数组

509. 斐波那契数

题目链接

  1. 确定dp数组以及下标的含义
    dp[i]的定义为:第i个数的斐波那契数值是dp[i]
  2. 确定递推公式
    状态转移方程 dp[i] = dp[i - 1] + dp[i - 2];
  3. dp数组如何初始化
    题目中把如何初始化也直接给我们了,如下: dp[0] = 0; dp[1] = 1;
  4. 确定遍历顺序
    从递归公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,dp[i]是依赖 dp[i - 1] 和 dp[i - 2],那么遍历的顺序一定是从前到后遍历的
  5. 打印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 n<=1:return ndp=[0,1]for i in range(2,n+1):total = dp[0]+dp[1]dp[0]=dp[1]dp[1]=total  return total

三、动态规划v3

class Solution:def fib(self, n):if n<=1:return nprev0,prev1 = 0,1for _ in range(2,n+1):cur = prev0 + prev1prev0,prev1 = prev1,curreturn cur

70. 爬楼梯

题目链接

  1. 确定dp数组以及下标的含义
    dp[i]的定义为:爬到第i层楼梯,有dp[i]种方法
  2. 确定递推公式
    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];
  3. dp数组如何初始化
    dp[1] = 1; dp[2] = 2;
  4. 确定遍历顺序
    从递归公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,dp[i]是依赖 dp[i - 1] 和 dp[i - 2],那么遍历的顺序一定是从前到后遍历的
  5. 打印dp数组

一、动态规划v1

class Solution(object):def climbStairs(self, n):""":type n: int:rtype: int"""dp = [0]*(n+1)if n <=2:return ndp[1]=1dp[2]=2for i in range(3,n+1):dp[i]=dp[i-1]+dp[i-2]return dp[n]

二、动态规划v2

class Solution(object):def climbStairs(self, n):""":type n: int:rtype: int"""dp=[0,1,2]if n <=2:return nfor i in range(3,n+1):total = dp[1]+dp[2]dp[1]=dp[2]dp[2]=totalreturn total

746. 使用最小花费爬楼梯

题目链接

  1. 确定dp数组以及下标的含义
    dp[i]的定义为:到达第i台阶所花费的最少体力为dp[i]
  2. 确定递推公式
    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]);
  3. dp数组如何初始化
    dp[0] = 0; dp[1] = 0;
  4. 确定遍历顺序
    因为是模拟台阶,而且dp[i]由dp[i-1]dp[i-2]推出,所以是从前到后遍历cost数组就可以了
  5. 打印dp数组

一、dp v1

class Solution(object):def minCostClimbingStairs(self, cost):""":type cost: List[int]:rtype: int"""dp = [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: int"""dp0=0dp1=0for i in range(2,len(cost)+1):dp2=min(dp1+cost[i-1],dp0+cost[i-2])dp0=dp1dp1=dp2return dp2
http://www.dinnco.com/news/39296.html

相关文章:

  • 做vi设计的国外网站网站优化seo培训
  • 广州哪家公司做网站谷歌商店下载
  • c h5网站开发短视频推广引流方案
  • 商场商城网站建设方案推广之家官网
  • 做一个b2c网站怎样做seo搜索引擎优化实战
  • 辽宁奔之流建设工程有限公司网站网络营销的四大特点
  • 锦州网站制作公司建站平台有哪些
  • 易经网站开发公司51外链代发网
  • 定制微信小程序多少钱四川seo排名
  • 网站开发教程 视频教程提高工作效率的软件
  • 央企网站建设意义seo搜索引擎优化岗位要求
  • 建设网站的价值百度首页排名代发
  • 公司的网站建设注意点廊坊seo管理
  • 合肥网站开发网络公司seo专业培训技术
  • wordpress the_tagsseo最好的工具
  • 网站如何做引流百度安装应用
  • win10 做网站服务器免费网站制作软件平台
  • 上海建设手机网站广东东莞疫情最新情况
  • 公司门户网站建设特点北京seo排名技术
  • wordpress实现代码块江东seo做关键词优化
  • 郑州网站改版seo外链论坛
  • 电子商务网站建设百色seo关键词优化公司
  • 网站怎么做微信送红包活动网络推广和网站推广
  • 秦皇岛网站建设seo竞价排名机制
  • 动画怎么制作石家庄关键词优化平台
  • 怎么查找网站汕头seo快速排名
  • 公司网站的设计方案seo外链建设方法
  • 浦东新区网站建设推广免费制作网页平台
  • 字体设计教程网站好seo搜索优化邵阳
  • 四川省建设工程造价信息网站b2b推广网站