跳台阶

来源:互联网 发布:奔驰检测软件 编辑:程序博客网 时间:2024/06/07 08:58

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。


public class Solution {    public int JumpFloor(int target) {//思路,因为一次只能跳一步或者2步,所以f(n) = f(n-1)+f(n-2),因为当你在n-1阶的时候,我们可以一步跳到n阶,有多少种跳到n-1,就有多少种方法从n-1一步跳到n阶级,n-2同理。                        /*方法一:递归        运行时间600多ms        if(target <= 0){            return 0;        }                if(target == 1){            return 1;           }                   if(target == 2){            return 2;        }                   return JumpFloor(target-1)+JumpFloor(target-2);        */                        //方法二:递归的时间比较长,我们用遍历,运行时间30ms,可以看出递归很耗时。                 if(target <= 0){            return 0;        }                if(target == 1){            return 1;           }                   if(target == 2){            return 2;        }                int one =1;        int two =2;        int result=0;        for(int i=2;i<target;i++){           result = one + two;//前两层的跳法累加           one = two;           two =result;        }             return result;    }}


原创粉丝点击