面试题10- I 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。

本文探讨如何编写一个高效的函数,用于计算斐波那契数列的第n项。斐波那契数列是数学中的一系列数字,每个数是前两个数的和。通过递归或动态规划等方法,可以实现这个计算过程。理解并实现这个函数对于提升编程技巧和算法理解具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package SwordOffer;

import java.util.HashMap;
import java.util.Map;

/**
* @Description: 写一个函数,输入 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:

输入:n = 2
输出:1
示例 2:

输入:n = 5
输出:5
 

提示:

0 <= n <= 100

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
* @Param:
* @return:
* @Author: lvhong
* @Date:
* @E-mail lvhong282@163.com
*/
public class lab10easy {
    private int MOD = 1000000007;

    //最原始的递归   到46那里就会超时
//    public int fib(int n) {
//        return f(n);
//    }
//    private int f(int i){
//        if(i==0){
//            return 0;
//        }
//        if(i==1){
//            return 1;
//        }
//        return f(i-1)+f(i-2);
//    }

    //加了map存储中间变量的递归,减少重复运算;  但用了多余的空间
//    public 
问题描述】 【问题描述】编函数f,功能是用递归的方法斐波那契数列的第n函数原型为 int f(int n),在主函数输入一个正整数n,调用函数f斐波那契数列的第n,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编函数f,功能是用递归的方法斐波那契数列的第n函数原型为 int f(int n),在主函数输入一个正整数n,调用函数f斐波那契数列的第n,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编函数f,功能是用递归的方法斐波那契数列的第n函数原型为 int f(int n),在主函数输入一个正整数n,调用函数f斐波那契数列的第n,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 【问题描述】编函数f,功能是用递归的方法斐波那契数列的第n函数原型为 int f(int n),在主函数输入一个正整数n,调用函数f斐波那契数列的第n,并在主函数中输出。 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8 斐波那契数列1,1,2,3,5,8,13,21…… 【输入形式】3 【输出形式】2 【样例输入】6 【样例输出】8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值