专栏首页用户4352451的专栏【leetCode】斐波那契数列day06

【leetCode】斐波那契数列day06

题目

写一个函数,输入 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。

解题思路

通过题意的描述;

  1. 刚开始就固定0和1所以要特殊对待,直接第一个第二个就等于他两
  2. 也知道如何去计算了,前两个相加等于下一个数,这起不容易,只要我们知道前两个就行。所以这两个数据得存着
  3. 又因为我们拿到的是最后最后取摸的哪一个(这块理解错了)导致做错了。
  4. 那我们就用数组来存储数列

talk is cheap,show me code

class Solution {
    public int fib(int n) {
        if(n <2){
            if( n== 0){
                return 0;
            }else{
                return 1;
            }
        }

        int  f0 = 0;
        int  f1 = 1;  
        // 一定要是N+1不然会数组越届,因为第N位,还有一个0呢,所以斐波那且数列有N+1个。
        int [] fbs = new int[n+1];
        fbs[0] = f0;
        fbs[1] = f1;
        for(int i = 2 ; i<= n; i++){ 
            fbs[i] = fbs[i-1] + fbs[i-2];
            // 需要注意的地方
            fbs[i] = fbs[i]%1000000007;
        }
        return fbs[n];
    }
}

原题地址:

https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【LeetCode】两数之和day09

    居士
  • SpringBoot的事务传播机制

    @Transactional(propagation = Propagation.REQUIRED)

    居士
  • 【LeetCode】找出数组中重复的数字day01

    居士
  • 基本数据类型及其包装类(一)

    我们都说,Java 是一门面向对象型程序设计语言,但是它设计出来的「基本数据类型」仿佛又打破了这一点,所以,只能说 Java 是非 100% 纯度的面向对象程序...

    Single
  • 28:出现次数超过一半的数

    28:出现次数超过一半的数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 给出一个含有n(0 < n <= 1000)个...

    attack
  • 把Maven的架构,用法,坑点介绍的清清楚楚

    个人的一个小感受,学习一个新技术,应该以历史的眼光开看待这个新技术出现的原因,以及帮我们解决了什么问题。我们来回忆一下没有Maven的日子是怎么样的?

    Java识堂
  • Rust FFI 编程 - 手动绑定 C 库入门 03

    所有权是Rust中最核心的关注点之一。在Rust中,变量有严格的所有权关系,并于此之上建立了一整套上层建筑。

    MikeLoveRust
  • LintCode-407.加一

    给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。 该数字按照大小进行排列,最大的数在列表的最前面。

    悠扬前奏
  • noi.ac#309 Mas的童年(子集乱搞)

    记\(s_i\)表示前\(i\)个数的前缀异或和,我们每次相当于要找一个\(j\)满足\(0 < j < i\)且\((s_i \oplus s_j) + s_...

    attack
  • 简单错误记录

    题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称...

    AI那点小事

扫码关注云+社区

领取腾讯云代金券