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

长沙本地推广联系电话百度seo快速排名

长沙本地推广联系电话,百度seo快速排名,子域名ip查询大全,网站建设对应的岗位1.动态规划五部曲: 1)确定dp数组(dp table)以及下标的含义 2)确定递推公式 3)dp数组如何初始化 4)确定遍历顺序 5)举例推导dp数组 2.动态规划应该如何debug 找问题的最好方式就是把…

1.动态规划五部曲:

        1)确定dp数组(dp table)以及下标的含义

        2)确定递推公式

        3)dp数组如何初始化

        4)确定遍历顺序

        5)举例推导dp数组

2.动态规划应该如何debug

        找问题的最好方式就是把dp数组打印出来,看看究竟是不是按照自己思路推导的!


509.斐波那契数

初始思路:

class Solution {public int fib(int n) {if(n==0){return 0;}int[] dp = new int[n+1];dp[0] = 0;dp[1] = 1;for(int i = 2;i<n+1;i++){dp[i] = dp[i-1]+dp[i-2];}return dp[n];}
}

题解复盘:

题解更加清晰,首先按照动态规划五部曲进行分析:

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数组

0 1 1 2 3 5 8 13 21 34 55

压缩空间版本的题解:

class Solution {public int fib(int n) {if (n < 2) return n;int a = 0, b = 1, c = 0;for (int i = 1; i < n; i++) {c = a + b;a = b;b = c;}return c;}
}

70.爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

初始思路:

1)确定dp数组以及下标的含义:

        dp[i]的定义为:表示爬到第i个台阶不同方法的数量。

2)确定递推公式:

        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数组

1,2,3,5,8,13,21,34

class Solution {public int climbStairs(int n) {if(n<=2){return n;}int a = 1;int b = 2;int c = 0;for(int i = 3;i<n+1;i++){c = a + b;a = b;b = c;}return c;}
}

746. 使用最小花费爬楼梯 

初始思路:

这道题目就是在不同的爬楼梯方案中,挑选出来最小花费的爬楼梯方案。

唯一需要斟酌的地方就是我究竟是让其从第0阶台阶开始攀爬,还是从第1阶台阶开始攀爬。

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;dp[2] = min(dp[0]+cost[0],cost[1]+dp[1]);

4) 确定遍历顺序

        由前到后

5)举例推导dp数组

0,0,10,15

class Solution {public int minCostClimbingStairs(int[] cost) {int[] dp = new int[cost.length+1];dp[0] = 0;dp[1] = 0;for(int i = 2;i<=cost.length;i++){dp[i] = Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);}return dp[cost.length];}
}

题解复盘:

基本一致

        

http://www.tj-hxxt.cn/news/22255.html

相关文章:

  • 滨海做网站公司百度灰色关键词代发
  • python 网站开发 前端百度手机助手下载安卓
  • 建筑网格网站优化检测
  • 怎样建设网站郑州关键词优化平台
  • 二级域名网站建设规范湖南网站seo推广
  • 怎么做网站的外链郑州网络运营培训
  • 中小企业商务网站建设百度推广关键词越多越好吗
  • 响应式建站工具株洲网络推广
  • c2c电子商务平台有哪些百度搜索引擎关键词优化
  • 厦门微网站建设公司武汉seo排名
  • 政府网站风格设计优化营商环境发言稿
  • 小企业网站源码百度付费推广
  • 网站发的文章如何优化深圳seo优化推广
  • 全球速卖通入驻条件北京seo专员
  • 万网网站建设的子分类能显示多少个seo站群优化技术
  • django网站开发规范百度文库个人登录
  • 网站设计广州软文推广哪个平台好
  • wordpress 首页幻灯seo综合查询工具有什么功能
  • 青岛市建设监理协会网站看今天的新闻
  • 有哪些免费建站的网站做运营的具体做什么
  • 手机主题wordpress免费下载营口seo
  • 网站seo规范免费的外贸网站推广方法
  • 搭建公司网站多少钱灰色词seo排名
  • 怎样用西瓜影音做网站优化公司流程制度
  • 怎么帮人做网站网站的seo
  • 做网站怎样安全采集seo零基础视频教程
  • 高端的响应式网站建设公司市场营销师报名官网
  • 做pc端网站精英谷歌商店paypal官网下载
  • 公司名称查重系统seo职业技能培训班
  • 品牌建设青之见海淀区seo多少钱