面试题10:斐波那契数列

从小白到大神都会遇到的经典面试题 —— 斐波那契数列 文章目录斐波那契数列是什么斐波那契数列面试常问问法递归解法普通递归方法尾递归法迭代解法更快的解法(一):数学方法更快的解法(二):矩阵幂次方(大厂必备)参考文献 写在前面: 博主在春招找实习的过程中呢,百度的二面面试官就让我手撕了跳台阶问题。其本质上呢是斐波那契数列,当时给出了四种解法。但是呢,面试官还是不是很满意。博主苦思冥想也想不出最后一种,最后面试官教了我一种解法,遂连带着一起记录下来。 斐波那契数列是什么 以下内容摘自百度百科: 斐波那契数列(Fibonacci sequence),又称黄金分 阅读详情

题目一:求斐波那契数列的第n项。
写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项
。
斐波那契数列的定义如下:

# 面试题10 菲波那切数列
'''
如果采用递归的话,数字过大会导致栈溢出。
有一个办法就是讲计算的结果保存下来,不需要重复计算,这样能优化一下性能。
但还是推荐非递归版本。
'''
def Fibonacci_Recursion(num):
    if num<=0:
        return 0
    elif num ==1:
        return 1
    else:
      return Fibonacci_Recursion(num-1)+Fibonacci_Recursion(num-2)
    
def Fibonacci_Loop(num):
    if num<=0:
        return 0
    elif num==1:
        return 1
    else:
        one,two,fibN =0,1,0
        for i in range(2,num+1):
            fibN=one+two
            one,two=two,fibN
        return fibN

if __name__=='__main__':
    print(Fibonacci_Recursion(10))
    print(Fibonacci_Loop(10))

面试题10:算法题——斐波那契数列 题目1:求斐波那契数列的第n项。 斐波那契数列的定义:f(0)=0 f(1)=1   f(n)=f(n-1)+f(n-2) 教科书上反复用这个问题来讲解递归函数,并不能说明递归函数解法最适合这道题目,这种方法有很严重的效率问题(存在重复计算),需要一种实用的解法。 由下往上计算,根据f(1)和f(2)计算出f(3),由f(3)和f(2)计算出f(4),循环下去,直至计算出f(n)   基于... 阅读详情

相关推荐

S7-1200g2运动控制实战:从轴组配置到程序调试

本文详细介绍了S7-1200g2运动控制功能的实战应用,从轴组配置到程序调试的全流程。通过TIA Portal中的工艺对象配置,实现单轴、同步轴组等运动控制模型,并分享常见问题排查与性能优化经验,帮助工程师快速掌握中小型自动化设备的运动控制技术。

weixin_28698059的博客 588

面试题10:斐波那契数列

题目1 该系列文章题目和思路均参考自:《剑指Offer》 解法 思路1(效率较低的思路):使用递归求解斐波那契数列是很常见的写法,但这种递归方式效率较低,因为在计算的过程中包含了很多重复元素的计算。例如计算n=10时的计算过程如下: 代码实现: public static long fibonacciRecursion(int n) { if (n == 0 ...

Blossom 836

一键转换B站M4S缓存为MP4:无需FFMPEG命令的简易工具

本文介绍了一款专为B站用户设计的绿色工具,可将缓存的M4S视频和音频文件一键转换为通用MP4格式。该工具完全图形化操作,无需学习复杂的FFmpeg命令,解决了普通用户处理B站缓存视频的痛点。文章详细讲解了从下载、配置到转换的完整流程,并提供了常见问题排查与安全使用建议,帮助用户高效、安全地管理离线视频内容。

joy55的博客 480

【剑指Offer】面试题10. 斐波那契数列

题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1)= 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:100000...

胡图图 822

量子城域网建设设备系列(三):网络管理系统(NMS)

本文对量子网络中的网络管理系统进行了初步的介绍。

量子领域相关话题 2013

步进电机驱动算法——梯形加减速算法

目录步进电机梯形加减速梯形加减速算法原理分析算法实现 步进电机梯形加减速 电机的控制方式一般分为开环控制与闭环控制两种控制方式,其中开环控制原理框图如下: 这种种控制方式的特点是:控制简单、实现容易、价格较低,这种开环控制方式,负载位置对控制电路没有反馈。 对于步进电机,控制脉冲的输入并不依赖于转子的位置,而是按一固定的规律发出控制脉冲,如果励磁变化太快,电机不能移动到新的位置,那么实际负载位置与理想位置就会产生一个偏差,就有可能出现失步或者过冲现象,所以需要使用加减速算法。 梯形加减速算法,S加减速算法等

aaa376070331的博客 3万+

Java面试算法(1)——斐波那契数列(含例题)

斐波那契数列,借助于剑指Offer中的矩形填充、青蛙跳格子进行分析。

袁的博客 1022

ClickHouse分布式表原理:大数据分片存储与查询

我是一名资深大数据工程师,专注于ClickHouse优化和分布式架构设计。拥有5年以上大数据开发经验,曾为多家电商、金融公司提供ClickHouse解决方案。欢迎关注我的博客(),一起探讨大数据技术!留言互动:你在使用ClickHouse分布式表时遇到过什么问题?欢迎在评论区分享,我会一一解答!

AI大模型应用之禅 959

【C语言】关于斐波那契数列的面试题

关于斐波那契数列的面试题(附图解)

铭哥不写bug的博客 335

选型不再靠感觉:一文看懂 SAP Event Mesh 与 SAP Integration Suite, advanced event mesh 的能力边界

本文对比分析了SAP Event Mesh与SAP Integration Suite, advanced event mesh的差异。SAP Event Mesh适合轻量级场景,主要用于SAP系统间异步通信,支持AMQP、MQTT等协议,消息大小限制为1MB。而advanced event mesh面向企业级事件网络,提供跨云/本地部署、事件治理、监控等高级功能,支持30MB消息和更大存储容量。选择时需考虑业务规模、实时性要求、治理需求等因素:单一SAP生态内扩展可选Event Mesh;跨区域、多云环境

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 133

Oracle EBS FA 创建成批增加执行时间长且报错

摘要 Oracle EBS系统在执行"创建成批增"请求时出现长时间运行并报错(ORA-00603和ORA-03114)。

陈显平的专栏-Oracle EBS 174

面试题10. 斐波那契数列

文章目录面试题10-I. 斐波那契数列面试题10- II. 青蛙跳台阶问题 面试题10-I. 斐波那契数列 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1;F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两...

qq_43411555的博客 1111

nvidia jetson orin调试 MAX96712 serdes相机(SG2-AR0233C-GMSL2)

背景:想了解一下关于nvidia orin camera相关的模块,基于Drive Orin demo板的话,没有合适的相机,用 nvsipl框架点亮 GMSL相机不知如何下手,那么基于nvidia Jetson orin的话,目前国内有对应的转接板以及GMSL相机可以参考,基于此,那么本文详细记录一下关于nvidia orin的相关踩坑记录;需要Nvidia Jetson Orin开发板一个,MIPI转接板一个,MIPI转GMSL转接板一个,GMSL线束(fakra单线束),GMSL摄像头一个。

qq_30025621的博客 4446

面试题 10:斐波那契数列

文章目录面试题 10:斐波那契数列题目一:求斐波那契数列的第n项题目描述递归非递归(迭代)题目二:跳台阶题目描述题目三:变态跳台阶题目描述状态枚举题目四:矩形覆盖题目描述 面试题 10:斐波那契数列 题目一:求斐波那契数列的第n项 题目描述 输入一个整数 n ,求斐波那契数列的第 n 项。 假定从 0 开始,第 0 项为 0。( n <= 39 ) 样例 输入整数 n=5 返回 5 ...

charlsonzhao的博客 378

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

面试题10——斐波那契数列

斐波那契数列的定义:每一项都是前两项的和。 自己思路: 1、脚趾头想都是递归,基本每个算法书讲递归的时候必然会举斐波那契的例子。但是这是面试题,应该不会这么简单,递归太耗时间了,考官应该会想节省时间的方法。 2、想起来递归,非递归可能要用到栈来实现递归。 具体面试的时候用哪种思路,可以和面试官讨论具体的细节,然后选择符合面试官要求的方法。 递归思路: #include<iostream&gt...

weixin_43310928的博客 293

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

面试题10.斐波那契数列

题目 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 算法思路 题目简单,动态规划很快的解决。 定义状态:定义数组dp,用于存放斐波那契数列的前n项

laoli的博客 602

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【Java】 面试题10:斐波那契数列

面试题10:斐波那契数列 题目一:写一个函数,输入n,求斐波那契数列的第n项。 方法1:递归求解 package jianZhiOffer; import java.util.Scanner; /* * 面试题10:斐波那契数列 * 题目一:写一个函数,输入n,求斐波那契数列的第n项。 */ public class O10Fibonacci { public static int fib...

小小核桃 523

剑指Offer 面试题10斐波那契数列

斐波那契数列 剑指Offer面试题汇总 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 输入输出 输入:n = 5 输出:5 解决方案

weixin_41945993的博客 309
上一篇: 面试题9:用两个栈实现队列
下一篇: 面试题11:旋转数组的最小数字
learning112358
博客等级 码龄9年 35粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值