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

网站维护有多长时间wordpress腾讯云cos

网站维护有多长时间,wordpress腾讯云cos,网站开发先写什么后写什么,教育网站建设 培训网站建设题目: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中…

题目:

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n ,请计算 F(n) 。

示例 1:

输入:n = 2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1
示例 2:

输入:n = 3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2
示例 3:

输入:n = 4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3

提示:

0 <= n <= 30

思路:

本题很简单,但很适合用来做动态规划(和递归)的入门题,本篇文章主要讲解一下动态规划的思路

动态规划

动规五部曲:

这里我们要用一个一维dp数组来保存递归的结果

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

dp[i]的定义为:第i个数的斐波那契数值是dp[i]

  1. 确定递推公式

为什么这是一道非常简单的入门题目呢?

因为题目已经把递推公式直接给我们了:状态转移方程 dp[i] = dp[i - 1] + dp[i - 2];

  1. dp数组如何初始化

题目中把如何初始化也直接给我们了,如下:

        dp[0] = 0dp[1] = 1
  1. 确定遍历顺序

从递归公式dp[i] = dp[i - 1] + dp[i - 2];中可以看出,dp[i]是依赖 dp[i - 1] 和 dp[i - 2],那么遍历的顺序一定是从前到后遍历的

  1. 举例推导dp数组

按照这个递推公式dp[i] = dp[i - 1] + dp[i - 2],我们来推导一下,当N为10的时候,dp数组应该是如下的数列:

0 1 1 2 3 5 8 13 21 34 55

如果代码写出来,发现结果不对,就把dp数组打印出来看看和我们推导的数列是不是一致的。

以上就是动态规划五部曲 这在之后将贯穿所有动态规划类的题目

完整代码和复杂度分析:

动态规划版本1(定义dp数组):

class Solution:def fib(self, n: int) -> int:# 排除 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]
  • 时间复杂度:O(n)
  • 空间复杂度:O(n)

动态规划版本2(不自定义dp数组,仅使用3个变量来维护dp数组):

class Solution:def fib(self, n: int) -> int: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] = totalreturn dp[1]
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)

递归版本:

class Solution:def fib(self, n: int) -> int:if n < 2:return nreturn self.fib(n - 1) + self.fib(n - 2)
  • 时间复杂度:O(2^n)
  • 空间复杂度:O(n)
http://www.yayakq.cn/news/845586/

相关文章:

  • 微商城网站建设方案使用vue做的网站有哪些
  • 黄骅港务集团有限公司2017织梦网站怎么做seo
  • 湘潭网站建设 多少钱磐石网络企业网站建设 西宁
  • 网站建设微信官网开发wordpress in depth
  • 网站开发综合实训装修平台网站建设
  • 嘉峪关网站seo.net 门户网站
  • 南岗哈尔滨网站建设wordpress没有文章导航
  • 什么是电子商务网站建设南昌网站seo费用
  • 厦门网站建设有限公司怎么样网店运营教学
  • 瓜果类网站建设方案线上少儿编程课哪个机构最好
  • 四川省住房和城乡建设厅官方网站更改网站文章上传时间
  • 搭建网站赚钱nginx与WordPress
  • 新农村建设管理网站瀑布流网站
  • 建设部安全员证书查询网站微信网站api
  • 珠海网站定制开发女教师遭网课入侵视频大全播放
  • 电脑版网站建设合同范本单页设计费一般多少钱
  • 做维修广告在哪个网站网站内容怎么编辑
  • 陕西省建设厅执业资格注册中心网站昆明网络优化
  • 黄浦网站建设公司帮做网站制作挣钱
  • 九亭镇村镇建设办官方网站做商城网站合作合同
  • 好看开源企业网站模板wordpress ses插件
  • 网站的说服力源码怎么做成app软件手机版
  • 服装手机商城网站建设遵义做网站推广
  • 建在线教育网站需要多少钱wordpress主题酷
  • 做网站需要买服务器重庆平台网站建设平台
  • 怎样做无水印视频网站html企业网站主页模板
  • 网站建设公司岗位建设网站的工作总结
  • 公司网站建设及推广网站建设公司普遍存在劣势
  • 网站开发用什么工具深圳工商注册公司流程
  • 没有备案网站可以做优化么wordpress做知识管理系统