[剑指offer]跳台阶

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。     题目链接: https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4?tpId=13&tqId=11161&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

 
package com.sunshine.OFFER66_SECOND;

import org.junit.Test;

public class A8_JumpFloor {

    @Test
    public void test() {
        System.out.println(JumpFloor(4));
        System.out.println(JumpFloor2(4));
    }

    int ans;

    public int JumpFloor(int target) {
        ans = 0;
        jump(target);
        return ans;
    }

    public void jump(int n) {
        if (0 == n) {
            ans++;
            return;
        }
        if (0 > n) {
            return;
        }
        jump(n - 1);
        jump(n - 2);
        return;
    }


    //他人解
    public int JumpFloor2(int target) {
        if (target == 1) {
            return 1;
        } else if (target == 2) {
            return 2;
        }
        return JumpFloor2(target - 1) + JumpFloor2(target - 2);
    }
}

 

上一篇:【转】asp.net Cookie值中文乱码问题解决方法


下一篇:COCI 2010.03.06 T5「PROGRAM」题解