斐波那契数列 - 习题(Think in Java)

题目:创建一个方法,接受一个整数参数,结果返回从第一个元素开始总共由该参数指定的个数所构成的所有斐波那契数字。

解题思路使用循环方式:

public int[] FibonacciMethod1(int n) throws Exception {
    int[] res = new int[n+1];
    res[0] = 0;
    res[1] = 1;

    for(int index=2; index<res.length; index++){
        res[index] = res[index-1]+res[index-2];
    }
    return res;
}

习题延伸:创建一个方法,接受一个整数参数,结果返回由该参数指定的位置的斐波那契数字。

可以使用循环方式,递归方式来解题:效率最高的是循环方式。

循环方式:

 public int FibonacciMethod2(int n) throws Exception {
        int[] res = new int[n+1];
        res[0] = 0;
        res[1] = 1;

        for(int index=2; index<res.length; index++){
            res[index] = res[index-1]+res[index-2];
        }
        return res[n];
    }

递归方式:

public  int FibonacciMethod1(int n){
        if(n==0){
           return 0;
        }
        if(n==1){
            return 1;
        }
       return FibonacciMethod1(n-1)+FibonacciMethod1(n-2);
    }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值