재귀 _ 개구리 점프 단계 (왜곡 된 버전)

제목 설명

클래스 1 개 수준에 이동할 수 있습니다 개구리, 당신은 또한 레벨 2에 홉 수 있습니다 ...... n은 또한 무대에 이동할 수 있습니다. 개구리는 n 개의 학년 얼마나 많은 점프의 총을 추구 증가했다.

내 솔루션

public int JumpFloor1(int target) {
    if (target == 1) {
        return 1;
    } else {
        int total = 0;
        for (int i = 1; i < target; i++) {
            total += JumpFloorII(target - i);
        }
        return total+1;
    }
}

갱스터 솔루션

① F (N) = F (N-1) + F (N-2) + F (N-3) + ... + F (2) + F (1)

② F (N-1) = F (N-2) + F (N-3) + ... + F (2) + F (1)

①②에서 만든 F (N) = 2 F (N-1);

public static int jumpFloor2(int target) {
    if (target == 1) {
        return 1;
    } else {
        return 2 * jumpFloor2(target - 1);
    }
}

궁극적 인 해결책

F (N) = 2 F (N-1) (N> = 2)
F (N) = 1 (N = 1)

순환 방정식 해결된다 :

F (N) = 2F (N - 1)

2 × 2F = (( -n 1 ) - 1) = 2 (2) , F (N - 2 )

2 * 2 * 2 F = (( -n 2 ) - 1) = (2) (3) , F (N - 3 )

2 × 2 = 2 * 2 * ... * 층 (( -n은 (N-3) ) -1) 2 = N-2 , - F (N (N-2) = 2) N-2 F (2)

2 × 2 = 2 * 2 * ... * 층 (( -n은 (N-2) ) -1) 2 = N-1 , - F (N (N-1) = 2) N-1 , F (1) = 2 N-1

public int JumpFloor3(int target) {
    return (int) Math.pow(2, target - 1);
}

추천

출처www.cnblogs.com/KenBaiCaiDeMiao/p/12594412.html