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

男生女生做污事网站免费网站友情链接

男生女生做污事网站免费,网站友情链接,wordpress的登录页面模板下载,深圳做企业网站的公司推荐碎碎念:开始动态规划了!加油! 参考:代码随想录 动态规划理论基础 动态规划常见类型: 动规基础类题目背包问题打家劫舍股票问题子序列问题 解决动态规划问题应该要思考清楚的: 动态规划五部曲&#xff1…

碎碎念:开始动态规划了!加油!
参考:代码随想录

动态规划理论基础

动态规划常见类型:

  1. 动规基础类题目
  2. 背包问题
  3. 打家劫舍
  4. 股票问题
  5. 子序列问题

解决动态规划问题应该要思考清楚的:
动态规划五部曲:

  1. dp数组以及它下标的含义
  2. 递推公式
  3. dp数组如何初始化
  4. 遍历顺序
  5. 打印dp数组

509. 斐波那契数

题目链接

509. 斐波那契数

思想

动态规划五部曲:

  1. 确定dp数组以及下标的含义:dp[i] 第i个斐波那契数
  2. 确定递推公式:dp[i] = dp[i-1]+dp[i-2]
  3. dp数组的初始化:dp[0]=1 dp[1]=1
  4. 确定遍历顺序:从前向后遍历
  5. 打印dp数组:主要用来debug

由于求一个值只依赖前两个值,所以我们没必要维护一个数组,可以维护三个变量来完成状态转移。见python代码。

题解

// cpp
class Solution {
public:int fib(int n) {if (n == 0 || n == 1) return n;vector<int> dp(n+1);dp[0] = 0;dp[1] = 1;for (int i = 2; i <= n; i++) {dp[i] = dp[i-1] + dp[i-2];}return dp[n];}
};
# python
class Solution:def fib(self, n: int) -> int:if n <= 1:return nprev1, prev2 = 0, 1for _ in range(2, n+1):cur = prev1 + prev2prev1, prev2 = prev2, curreturn prev2

反思

本题简单,是因为题中已经给出了递推公式和初始值。

70. 爬楼梯

题目链接

70. 爬楼梯

思想

动态规划五部曲:

  1. 确定dp数组以及下标的含义:dp[i] 表示达到i阶梯有dp[i]种方法
  2. 确定递推公式:dp[i] = dp[i-1]+dp[i-2] 爬到第i阶时,要么是从i-1一步过来的,要么从i-2一步迈两阶过来的
  3. dp数组的初始化:dp[0]=0 dp[1]=1(dp[0]的取法主要是为了使得dp[2]为2,从含义上来说,到达0阶应该0种方法)也可以初始化dp[1]=1,dp[2]=2,不初始化dp[0]
  4. 确定遍历顺序:从前向后遍历
  5. 打印dp数组:主要用来debug

和上一题同理,也可以优化掉dp数组。

题解

// cpp
class Solution {
public:int climbStairs(int n) {if (n <= 1) return n;vector<int> dp(n+1);dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];}
};
# python
class Solution:def climbStairs(self, n: int) -> int:if n <= 1:return nprev1 = 1prev2 = 2for _ in range(3, n + 1):cur = prev1 + prev2prev1, prev2 = prev2, curreturn prev2

反思

注意初始化那部分。

746. 使用最小花费爬楼梯

题目链接

746. 使用最小花费爬楼梯

思想

注意站在某个位置不花费cost,要爬上台阶的时候才会花费cost。
如图所示,顶楼应该在3的位置。
在这里插入图片描述
动态规划五部曲:

  1. 确定dp数组以及下标的含义:dp[i] 表示达到下标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. 确定遍历顺序:从前向后遍历
  5. 打印dp数组:主要用来debug

和上一题同理,也可以优化掉dp数组。

题解

// cpp
class Solution {
public:int minCostClimbingStairs(vector<int>& cost) {vector<int> dp(cost.size() + 1);dp[0] = 0;dp[1] = 0;for (int i = 2; i <= cost.size(); i++) {dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}return dp[cost.size()];}
};
# python
class Solution:def minCostClimbingStairs(self, cost: List[int]) -> int:prev1 = 0prev2 = 0for i in range(2, len(cost) + 1):cur = min(prev1 + cost[i - 2], prev2 + cost[i - 1])prev1, prev2 = prev2, curreturn prev2

反思

http://www.yidumall.com/news/54828.html

相关文章:

  • 商户如何做h5商城网站是什么意思免费建网站软件哪个好
  • 有api对接文档怎么做网站重庆关键词排名推广
  • 面对撞库 网站应该怎么做郑州seo技术
  • 中煤矿山建设集团网站seo网络营销外包
  • 2018做网站前景好么首页百度
  • 东莞专业网站建设推广百度手机助手app安卓版官方下载
  • asp网站安装到空间seo专员简历
  • 网站建设与实现的要求与务培训班管理系统 免费
  • 工作证明带公章电子版青岛设计优化公司
  • php网站开发的第三章搜索引擎优化的核心是
  • 兰州传诚网络科技有限公司百度如何优化
  • 住房和城乡建设部网站城市稽查江门seo外包公司
  • 新冠肺炎疫情最新消息今天上海公司网站seo
  • 静态网站漏洞网页设计排版布局技巧
  • 白城学习做网站的学校淘宝关键词指数
  • 淘宝网站是谁做的好处百度指数app官方下载
  • 个人网站设计怎么做网站seo快速排名优化
  • 自建网站如何被百度收录免费收录网站提交
  • 网站外包价格 北京网站制作公司seo手机排名软件
  • 杭州网站建设过程站长工具端口
  • 建设一个网站需要哪些知识宁波seo公司
  • 适合大学生创业的网站建设类型百度贴吧官网app下载
  • 手机网站设计哪家好河北网站建设案例
  • 海南百度网站建设深圳网络推广团队
  • 搭建网站是什么意思站外seo是什么
  • 网站谷歌地图提交seo入口
  • 做民宿加盟哪些网站比较好百度检索入口
  • wordpress feed插件重庆关键词优化服务
  • 做网站需要什么步骤搜索引擎实训心得体会
  • 上海门户网站建设公司沈阳关键词优化费用