【LeetCode每日一题】剑指 Offer 10- I. 斐波那契数列(持续更新)

简介: 【LeetCode每日一题】剑指 Offer 10- I. 斐波那契数列(持续更新)

今日题目(剑指Offer系列)

剑指 Offer 10- I. 斐波那契数列

写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(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:
输入:n = 2
输出:1
示例 2:
输入:n = 5
输出:5

解题思路:

>本题就是简单的循环
>可以最简单就是用递归去做,但是那样的话复杂度太高
>用循环相对于递归快很多

Python解法:

class Solution:
    def fib(self, n: int) -> int:
        if n<=1:
            return n
        else:
            first=0
            second=1
            for i in range(n-1):
                temp=first
                first=second
                second=(second+temp)%(1e9+7)
            return int(second)

Java解法:

class Solution {
    public int fib(int n) {
        if(n<=1) {
      return n;
    }
    else {
      double first=0;
      double second=1;
      for(int i=0;i<n-1;i++) {
        double temp=first;
        first=second;
        second=(second+temp)%(1e9+7);
      }
      return (int)second;
    }
    }
}


目录
相关文章
|
5天前
leetcode代码记录(动态规划基础题(斐波那契数列)
leetcode代码记录(动态规划基础题(斐波那契数列)
10 0
|
5天前
|
算法 定位技术
【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
17 0
|
5天前
|
Go
golang力扣leetcode 剑指Offer II 114. 外星文字典
golang力扣leetcode 剑指Offer II 114. 外星文字典
21 0
|
5天前
「LeetCode」剑指 Offer 40. 最小的k个数
「LeetCode」剑指 Offer 40. 最小的k个数
30 0
|
5天前
leetcode 剑指 Offer 32 - III. 从上到下打印二叉树 III
leetcode 剑指 Offer 32 - III. 从上到下打印二叉树 III
24 0
|
5天前
leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
23 0
|
5天前
/leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
/leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
22 0
|
5天前
leetcode 剑指 Offer 40. 最小的k个数
leetcode 剑指 Offer 40. 最小的k个数
20 0
|
5天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
9 0
|
5天前
|
算法 索引
【刷题】滑动窗口精通 — Leetcode 30. 串联所有单词的子串 | Leetcode 76. 最小覆盖子串
经过这两道题目的书写,相信大家一定深刻认识到了滑动窗口的使用方法!!! 下面请大家继续刷题吧!!!
12 0