package com.heu.wsq.leetcode;
/**
* 剑指 Offer 10- I. 斐波那契数列
* @author wsq
* @date 2020/12/6
*
* 写一个函数,输入 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
*
* 链接:https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof
*/
public class Fib {
public int fib(int n) {
if(n == 0){
return 0;
}else if(n == 1){
return 1;
}else{
int[] f= new int[n+1];
f[0] = 0;
f[1] = 1;
for(int i = 2; i <= n; i++){
// 该处可能存在int越界的问题
f[i] = (f[i - 1] + f[i - 2]) % 1000000007;
}
return f[n];
}
}
}
剑指 Offer 10- I. 斐波那契数列
最新推荐文章于 2025-06-14 19:45:10 发布