LeetCode练习题:斐波那契数列
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给你 n ,请计算 F(n) 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fibonacci-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法一:递归实现
思路:从通项表达式看可以看出,当n>1时,函数实际上是在自己调用自己做计算。
class Solution {public int fib(int n) {if(n <= 1) {return n;}return fib(n - 1) + fib(n - 2);}
}
暴力递归涉及到数据的重复计算,因此效率低下。
时间复杂度:O(2^n)
空间复杂度:O(1)
解法二:滚动数组
思路:斐波那契数列的算法是某个位置上的值等于前两个数的和,因此,我们只需要3个变量即可。
class Solution {public int fib(int n) {if(n <= 1) {return n;}int left1 = 1, left2 = 1, sum = 0;for(int i = 2; i <= n; i++) {sum = left1 + left2;left1 = left2;left2 = sum;}return sum;}
}
时间复杂度:O(n)
空间复杂度:O(1)
需要说明的是,动态数组是一种思想,并非一定要使用数组。
LeetCode练习题:斐波那契数列相关推荐
- 蓝桥杯入门练习题斐波那契数列
蓝桥杯入门练习题 斐波那契数列 #include <stdio.h> #include <stdlib.h>int main() {long long i, j, f1 = 1 ...
- 练习题 斐波那契数列
#include<stdio.h> int fun(int n) { if(n==0) return 0; else if(n==1) return 1; ...
- 斐波那契数列前n项和 c++_蹲在马桶看算法(Day8—LeetCode之NO.509 斐波那契数列)...
问题引入: 最先研究Successione di Fibonacci(斐波那契数列或兔子数列)的是意大利Leonardo Pisano Bigollo(又称斐波那契),最先是描述兔子生长的时候用上了这 ...
- 《LeetCode力扣练习》剑指 Offer 10- I. 斐波那契数列 Java
<LeetCode力扣练习>剑指 Offer 10- I. 斐波那契数列 Java 一.资源 题目: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N) ...
- LeetCode——动态规划:斐波那契数列
斐波那契数列 目录 爬楼梯 强盗抢劫 强盗在唤环形街区抢劫 信件错排 注:具体解析请点击链接进入LeetCode题解区. 1. 爬楼梯 https://leetcode-cn.com/problems ...
- RUNOOB python练习题24 斐波那契数列的衍生问题
用来练手的python练习题,原题链接 : python练习实例24 题干: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13-求出这个数列的前20项之和. 拿到题目观察数列,我们不 ...
- RUNOOB python练习题6 斐波那契数列
用来练手的python 练习题其六,原链接 : python练习实例6 题干 : 斐波那契数列 斐波那契数列可以说是很好的递归理解工具了,这里就用递归实现一下斐波那契数列. 源代码如下: # 返回fi ...
- 【LeetCode】剑指 Offer 10- I. 斐波那契数列
[LeetCode]剑指 Offer 10- I. 斐波那契数列 文章目录 [LeetCode]剑指 Offer 10- I. 斐波那契数列 一.递归 二.递归+哈希表 三.动态规划 总结 一.递归 ...
- LeetCode:递归思想的延伸,从斐波那契数列到爬楼梯模型
题目描述: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 看到这个问题的第一反应其实我想到的是排列组合的思想去解答.比如有n阶, ...
最新文章
- Android_神奇的android:clipChildren属性
- 千万级并发实现的秘密:内核不是解决方案,而是问题所在!
- java 基础数据类型面试_Java(数据类型)基础面试
- linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)
- 越努力越幸运,三年了!!!
- 软件工程学习笔记《二》代码规范
- 核函数与径向基函数 (Radial Basis Function 简称 RBF)详解
- C语言小知识---奇葩的小数
- 戴尔电脑开机黑屏怎么办_电脑黑屏开不了机怎么办
- PHP给飞秋发消息,wireshake抓包,飞秋发送信息,python
- 多人语音聊天社交app源码,语音聊天的优势是什么,语音系统源码开发
- 测控专业英语复习资料
- NPDP,优秀产品经理必备证书
- 融合正弦余弦和变异选择的蝗虫优化算法
- 互联网30年,总有人正年轻
- CentOS7-Docker-DockerFile-05
- cad中简单流程图制作_教你怎么制作出高逼格的专业流程图!
- 狗年已到,今天送3万元红包,本文有4个答案
- Nanopi r4s usb网卡设置方法(MT7601U Wireless Adapter)
- 【软件工程】软件需求
热门文章
- Fuzzy SVM with a new fuzzy membership function--文献翻译
- 苹果手机计算机桌面显示器,《iphone使用技巧》苹果电脑手机必学的几个投屏幕方法分享...
- 简单实现购物车相同物品累加
- 申请 icp经营性许可证/增值电信业务许可证
- 基于数据kmeans_data分析聚类画图 使用sc轮廓系数作为评价指标
- 黑鲨能换鸿蒙系统吗,黑鲨告诉你重装系统对电脑的好坏处
- a4纸在html的像素,打印常识:A4纸张在显示器上应该要多少像素?
- python开机自启切换每日必应壁纸
- 一切的闹闹哄哄,只是他在水帘洞躲避风沙那晚做的一个梦
- 服务器被黑怎么用防御系统解决