这是我要计算基本斐波那契代码的递归调用的费用。我已经有了它,所以值将以列格式打印出来,但是我不知道如何更新recCounter。我想我必须添加recCounter ++;我不知道在哪里

public static int recursionFibonacci(int n) {
    recCounter = 1;
    return fibonacci1(n);
}

public static int fibonacci1(int n) {
    if (n == 1 || n == 2) {
        return 1;
    } else {
        return fibonacci1(n-1) + fibonacci1(n-2);
    }
}

最佳答案

每次调用该函数时,都应增加计数器:

public static int fibonacci1(int n) {
    recCounter++; // <<-- here
    if (n == 1 || n == 2) {
        return 1;
    } else {
        return fibonacci1(n-1) + fibonacci1(n-2);
    }
}

09-27 11:35