首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >509. 斐波那契数

509. 斐波那契数

原创
作者头像
Michel_Rolle
修改于 2021-02-01 03:07:23
修改于 2021-02-01 03:07:23
3.3K0
举报
文章被收录于专栏:LeetCode解题LeetCode解题

509. 斐波那契数

链接

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

代码语言:txt
AI代码解释
复制
F(0) = 0,   F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.

给定 N,计算 F(N)。

示例1:

代码语言:txt
AI代码解释
复制
输入:2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1.

示例2:

代码语言:txt
AI代码解释
复制
输入:3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2.

示例3:

代码语言:txt
AI代码解释
复制
输入:4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3.

提示:

  • 0 ≤ N ≤ 30

go语言

代码语言:txt
AI代码解释
复制
func fib(N int) int {
	if N == 0 {
		return 0
	}

	if N <= 2 {
		return 1
	}

	n1, n2 := 1, 1 // n1为n-1,n2为n-2

	for i := 3; i < N; i++ {
		n1, n2 = n1+n2, n1
	}

	return n1 + n2

}

func fib2(n int) int {
       if n==0 ||n==1{
        return n
    }
    dp:=make([]int,n+1)
    dp[0]=0
    dp[1]=1
    for i:=2;i<=n;i++{
        dp[i]=(dp[i-1]+dp[i-2])%1000000007
    }
    return dp[n]
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
LeetCode 509. 斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
村雨遥
2020/04/09
3360
剑指Offer - 面试题10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:
Michael阿明
2020/07/13
3390
剑指Offer - 面试题10- I. 斐波那契数列
​LeetCode刷题实战509:斐波那契数
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2022/03/03
2000
DP入门之斐波那契数
力扣题目链接:https://leetcode-cn.com/problems/fibonacci-number
代码随想录
2021/12/29
5730
LeetCode509. 斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
Yuyy
2022/06/28
1950
LeetCode509. 斐波那契数
动态规划:斐波那契数
题目地址:https://leetcode-cn.com/problems/fibonacci-number/
代码随想录
2021/01/12
4660
剑指 Offer 10- I. 斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。
Vincent-yuan
2021/06/29
3800
斐波那契数列
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
木子星兮
2020/07/17
7840
【每日一题】【leetcode】23. 数学-斐波那契数列
写一个函数,输入 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。 难易程度:easy
aneutron
2022/08/10
3950
斐波那契数
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
用户4456933
2021/06/01
4620
509. 斐波那契数(java动态规划实现)
斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你 n ,请计算 F(n) 。 示例 1: 输入:2 输出:1 解释:F(2) = F(1) + F(0) = 1 + 0 = 1 示例 2: 输入:3 输出:2 解释:F(3) = F(2) + F(1) = 1 + 1 = 2
编程张无忌
2021/06/24
5390
剑指 offer | 10- I. 斐波那契数列和10- II. 青蛙跳台阶问题
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:
孟君
2023/02/23
3350
剑指 offer | 10- I. 斐波那契数列和10- II. 青蛙跳台阶问题
【Leetcode -509.斐波那契数 -520.检测大写字母】
题目:斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。 该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。 也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给定 n ,请计算 F(n) 。
YoungMLet
2024/03/01
1250
【Leetcode -509.斐波那契数 -520.检测大写字母】
LeetCode - 斐波那契数
LeetCode第509题,斐波那契数,真的是很经典的一道题目,难度系数为简单。很好奇一月4周前做的题目,那不就是两月之前么?
晓痴
2019/07/24
4890
LeetCode - 斐波那契数
一文带你入门动态规划
我们首先明确一点,动态规划问题的一般形式就是求最大值或者最小值。 其核心就是穷举。因为求最值肯定要将其全部的可能都列出来,这才找的出最值。 动态规划适合的穷举具有重叠子问题的特征,如果暴力穷举,效率回极其低下,所以需要备忘录或则DB table来优化穷举过程,避免不必要的计算。 动态规划问题一定具备最优子结构性质,这样才可以通过子问题得到原问题的解。 动态规划问题的核心是就是穷举出最值,但是问题可以千变万化,穷举出所有可行解并不是 容易的事情,只有列出正确的动态转移方程,才可以正确的穷举。写出动态转移方程也是最难的。 **
一只胡说八道的猴子
2021/04/02
5070
剑指offer | 面试题8:斐波那契数列
题目描述:写一个函数,输入 n,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:
千羽
2021/12/29
2150
剑指offer | 面试题8:斐波那契数列
剑指 offer 面试题精选图解 10-I.斐波那契数列
大家好,我是程序员吴师兄,欢迎来到图解剑指 Offer 专栏,在这个专栏里我将和大家一起学习如何用合理的思维来思考、解题、写代码。
五分钟学算法
2021/04/20
5300
LeetCode题解—斐波那契数列
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:
码上积木
2021/02/08
1.1K0
【Day12】力扣LeetCode刷题[788.旋转数字][200.岛屿数量][509. 斐波那契数]
解题思路: 题目给出1到N,要求从中找出好数的个数,那么我们肯定需要遍历从1到N个数; 每遍历到一个数,我们都需要获取这个数的个位数,十位数,百位数到前面的每位数字,从而通过每位数字来判断这个数是否为好数: 用sum来记录好数的个数; 定义一个标杆flag,默认为0,flag = 0 不是好数 ;最终flag = 1 是好数; 若出现3,4,7这样的旋转后已经不是一个数字位数,直接flag = 0,开始判断1到N中的下一个数; 若出现2,5,6,9这样旋转后为另一个数字的,flag暂时为1,若每位数字都判断完,flag依旧为1,说明是一个好数,sum+1;
.29.
2022/11/15
2800
【Day12】力扣LeetCode刷题[788.旋转数字][200.岛屿数量][509. 斐波那契数]
动态规划——509. 斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
向着百万年薪努力的小赵
2022/12/02
3060
动态规划——509. 斐波那契数
相关推荐
LeetCode 509. 斐波那契数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档