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

株洲做网站做网站的流程与步骤

株洲做网站,做网站的流程与步骤,建立网站公司有哪些,云梦网络建站LeetCode 509 斐波那契数列 这题动规五部曲都定义得比较明确。首先是dp数组下标,题目中给定F(0) 0说明从0开始,dp[i]直接表示F(i)的值即可。递推公式也直接给出了,也给了开头两个作为递推基础的数值作为初始化依据。遍历顺序也指明是从前往…

LeetCode 509 斐波那契数列

这题动规五部曲都定义得比较明确。首先是dp数组下标,题目中给定F(0) = 0说明从0开始,dp[i]直接表示F(i)的值即可。递推公式也直接给出了,也给了开头两个作为递推基础的数值作为初始化依据。遍历顺序也指明是从前往后(即由下标从小到大递推)。

但是举例推导这一步也是不能省的,比如如果n小于等于1,那么就不能对dp[1]按照题目条件直接初始化,会报错。

最后代码如下:

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

LeetCode 70 爬楼梯

这题最后代码写出来很短,但其实用动规来写不是很简单。

首先我们要明确为什么要用动规。这题其实可以用回溯,也可以用递归。但是回溯更适合记录路径,递归需要消耗内存较大。而动规很好地拟合了这道题目,同时时间和空间开销都没有前两种方法那么高。

动规本意也就在这里——用循环和递推条件直接解决问题。但是代价就是想的东西要多一些,也就是我们要找出子问题到当前问题的推导条件和它们之间的关系,比如这题就是两级台阶下的位置到当前位置可以一步到,一级台阶下的位置到当前位置可以一步到,我们将这两个子问题的方法数加起来就得到了当前问题的解。但是问题来了,为什么不让两级前的台阶走两步呢?但按照我们对dp数组和下标的定义,dp[i]是走到第i级台阶的方法数,上面这个问题实际上属于一级前台阶方法数而不属于两级前台阶方法数了。而且用这种视角来思考的话,用的就不是动规,因为那不是子问题到当前问题的推导,而是实际事情发生中的状态。这是动规和平常思路之间最大的差别了。

到这里我们递推公式和dp数组定义和下标含义就都得出来了。接下来初始化方法和遍历顺序是这样:我们找出能够和最开始子问题发生关联的最大下标,把它在递推公式中的子问题dp值初始化即可。这里我们需要结合实际情况设置dp[0]和dp[1]为1,因为能够和最开始一级台阶都没爬的时候的子问题发生关联的最大下标就是2了。遍历顺序从小到大也就是从前往后进行。

举例推导方面和上一题差不多,主要就是对比较小的时候的一些特例进行特殊考量。

代码如下:

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

LeetCode 746 使用最小花费爬楼梯

这题其实和上一题很像,不过递推逻辑要稍微变一下,变成取两级之前台阶+从该台阶跳上来开销和一级之前台阶+从该台阶跳上来开销中比较小的那个。子问题和当前问题之间关系是一样的。所以dp数组下标和含义基本一致。这题由于加入了开销,所以也无法像上一题那样从所有台阶下面开始往上跳,初始化时候直接将dp[0]和dp[1]初始化为1即可,原因和上一题一样,这里不再赘述。

遍历顺序从下往上对应也是从小到大。

代码如下:

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.ritt.cn/news/940.html

相关文章:

  • 怎么配置网站服务器百度贴吧怎么发广告
  • 网站建设思维导图的要求网站收录一键提交
  • 上海网站排名推广竞价排名的优缺点
  • 郑州上街网站建设公司构建新发展格局
  • 免费网站收录提交百度指数是干嘛的
  • 电子商务网站建设a卷网站建设的基本流程
  • 青海网站建设公司佛山全网营销推广
  • 做旅游宣传图的网站有哪些百度客服投诉中心
  • 网站多种语言是怎么做的沧州seo包年优化软件排名
  • 建立公司网站的好处找索引擎seo
  • 南京做网站公司 雷仁淘宝关键词搜索量查询
  • 北京企业网站开发公司哪家好现在最火的推广平台有哪些
  • html5网站的优点百度知道合伙人官网登录入口
  • 做培训体系的网站100个常用的关键词
  • 沈阳房产网合肥seo公司
  • 锡林浩特网站建设开发新站seo快速排名 排名
  • 做网站那个搜索引擎好店铺运营
  • it行业培训机构一般多少钱郑州seo培训
  • 宁晋网站建设公司百度广告点击软件
  • 阿里云网站建设怎么样做一个app平台需要多少钱
  • 公司网站没备案如何推广我的网站
  • 做网站好还是做安卓app好seo排名教程
  • 导购类网站建设多少钱腾讯云域名注册
  • 个人阿里云账号可以做网站备案网上推广用什么平台推广最好
  • 廊坊网站自助建站线上销售渠道有哪几种
  • 电池外贸一般在哪些网站做调价智能关键词软件
  • 菏泽手机网站建设网站优化的方法与技巧
  • 做文案图片上什么网站近期时事新闻10条
  • 企石镇做网站国通快速建站
  • 中铁航空港建设集团网站北京seo顾问外包