哈,某个面试官说不要用传统的递归求第N个数,其实这个数列在高中也见过,也求过前N项和吧?忘了。下面整一下各种常见方法:官方链接

题目:第一个,第二个数都是1,第三个是前面两个的和,第四个也是前两个的和,求第N项

从高中数学的思路出发,这需要一点数学敏感思维,推导方法是经典题,可作为高考题来对待。

 上述解答思考参考百度百科,下面求前N项和,

1,传统递归方法

def fb(n):if n==1 or n==2:return 1else:return fb(n-1) + fb(n-2)

2,递归O(n)方法

相比上一个,这个就是只求一次fb(n),不重复求,那就需要增加一个长度为n的列表或者json

这就是空间与时间的折中问题,想节约时间就得开辟新的空间。

def fb2(n):f=[1]*(n+1)if n==1 or n==2:return 1else:f[n]=fb2(n-1)+fb2(n-2)return f[n]

3,for循环

def fb3(n):a,b,c=1,1,1big=10000000007for i in range(3,n+1):c=(b+a)%biga,b=b,creturn c

肯定会问,为啥要取模呢??回答不取也对肯定不行,尽管是不取也对(这是真的)

主要是设定数的边界,防止过大,超出计算机位数。

4,快速幂我就不提了,遇到了就直接说不会吧,他们不招人,也没HC,就是逗你玩的。

愿我们终有重逢之时,

而你还记得我们曾经讨论的话题。

LeetCode斐波那契数列相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java

    <LeetCode力扣练习>剑指 Offer 10- I. 斐波那契数列 Java 一.资源 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) ...

  2. LeetCode——动态规划:斐波那契数列

    斐波那契数列 目录 爬楼梯 强盗抢劫 强盗在唤环形街区抢劫 信件错排 注:具体解析请点击链接进入LeetCode题解区. 1. 爬楼梯 https://leetcode-cn.com/problems ...

  3. 【LeetCode】剑指 Offer 10- I. 斐波那契数列

    [LeetCode]剑指 Offer 10- I. 斐波那契数列 文章目录 [LeetCode]剑指 Offer 10- I. 斐波那契数列 一.递归 二.递归+哈希表 三.动态规划 总结 一.递归 ...

  4. 斐波那契数列前n项和 c++_蹲在马桶看算法(Day8—LeetCode之NO.509 斐波那契数列)...

    问题引入: 最先研究Successione di Fibonacci(斐波那契数列或兔子数列)的是意大利Leonardo Pisano Bigollo(又称斐波那契),最先是描述兔子生长的时候用上了这 ...

  5. LeetCode:递归思想的延伸,从斐波那契数列到爬楼梯模型

    题目描述: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 看到这个问题的第一反应其实我想到的是排列组合的思想去解答.比如有n阶, ...

  6. LeetCode练习题:斐波那契数列

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

  7. python leetcode 爬楼梯问题 斐波那契数列

    爬楼梯 问题描述 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: ...

  8. 【编程5】斐波那契数列 + 递归+LeetCode50

    传送门:https://leetcode-cn.com/problems/powx-n/ 一.LeetCode 50. Pow(x, n) 1.题目描述 实现 pow(x, n) ,即计算 x 的 n ...

  9. 八十八、从斐波那契数列和零一背包问题探究动态规划

    @Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. ---- Runsen 本人看了vivo,阿里巴巴的校招算法题,可以明确知道绝对有动态规划. ...

最新文章

  1. Ubuntu 被曝严重漏洞:切换系统语言+输入几行命令,就能获取 root 权限
  2. windows mobile设置插移动卡没反应_ETC不用时,能不能把卡拔下来
  3. javascript --- [代码优化]将复杂的函数分解写异步请求数据的同步写法
  4. 单例模式,双重检查实现线程安全
  5. 保守官僚 诺基亚就这样迷失在智能机时代?
  6. wampserver的phpmyadmin(默认3306)端口如何更改为3307?
  7. 设计一个分步式登录系统_分布式系统:何时构建它们以及如何扩展。 分步指南。
  8. 因为难看的签名尴尬?Python爬虫制作艺术签名软件!
  9. [笔记]根据二代居名身份证号码判断一个人的性别
  10. [Python] L1-034. 点赞 团体程序设计天梯赛GPLT
  11. 形容计算机专业好句子,关于形容专业水平高的句子大全 精于专业的名言警句...
  12. [转载] 如何使用Python 实现秒表功能?
  13. 全新卡盟系统PHP版 集成易支付_PHP其他卡信卡盟系统平台 搭建卡盟平台多商户版源码程序系统集成易支付接口整站源码...
  14. 失效而后犬儒【2019.05.15报告记录】
  15. Tensorflow Dataset API 入门
  16. 关于tomcat下startup.bat双击闪退的问题
  17. 计算机连接宽带还需要登陆用户,每次电脑启动都需要手动连接宽带怎么办? 爱问知识人...
  18. 龙芯(mips)+麒麟V10 electron适配
  19. MapX学习基本教程
  20. BootLoader是什么 转载至百度百科

热门文章

  1. 常用对称加密算法之AES算法-CBC模式
  2. Oracle数据库误删数据恢复方法
  3. 计算机内部的线路能承受多高的温度,揭秘:CPU到了120°会不会坏?它到底能承受多高的温度...
  4. 帝国cms 实现百度主动推送 (非插件)
  5. 关于eps、pdf、svg矢量格式
  6. photoshop 切图教程
  7. python匿名函数lambda
  8. 童话:2022趋势研判-请不要不分场合的无脑乐观
  9. jee6 学习系列告一段落,uploaded zipped project after JAAS security
  10. 时间序列论文常用数据集