「算法」斐波那契数列

0007 斐波那契数列

题目描述

  • 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39

题目地址

  • https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3

解题报告

基于递归实现

本题解由微信公众号小猿刷题提供, 错误之处, 欢迎指正.

/**
 *  微信公众号"小猿刷题"
 */
public int Fibonacci(int N) {
    if(N == 0){
        return 0;
    }
    if(N == 1){
        return 1;
    }
    return Fibonacci(N-2) + Fibonacci(N-1);
}

基于数组实现

本题解由微信公众号小猿刷题提供, 错误之处, 欢迎指正.

/**
 *  微信公众号"小猿刷题"
 */
public int Fibonacci(int N) {
    if(N == 0){
        return 0;
    }
    if(N == 1){
        return 1;
    }
    int [] arr = new int[N+1];
    arr[0] = 0;
    arr[1] = 1;
    for(int i = 2; i <= N; i++){
        arr[i] = arr[i-2] + arr[i-1];
    }
    return arr[N];
}

基于交换实现

本题解由微信公众号小猿刷题提供, 错误之处, 欢迎指正.

/**
 *  微信公众号"小猿刷题"
 */
public int Fibonacci(int N) {
    if(N == 0){
        return 0;
    }
    if(N == 1){
        return 1;
    }
    int a = 0;
    int b = 1;
    for(int i = 2; i <= N; i++){
        int sum = a + b;
        a = b;
        b = sum;
    }
    return b;
}

小猿刷题

发布了4 篇原创文章 · 获赞 1 · 访问量 55

猜你喜欢

转载自blog.csdn.net/huntswork/article/details/104387250