牛客网 变态跳台阶

题目:

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

思路:

我采用列举的方法:

1表示跳一级,2表示跳两级,...,

当target=1时:1,一种方法

当target=2时:11,2,两种方法

当target=3时:111,12,21,3,四种方法

当target=4时:1111,112,121,211,22,13,31,4,八种方法

当target=5时:11111,2111,1211,1121,1112,221,212,122,311,131,113,23,32,14,41,5,十六种方法

总结就是2的target-1次幂

代码:

import java.lang.Math;
public class Solution {
    public int JumpFloorII(int target) {
        int result=(int)(Math.pow(2,target-1));
        return result;
    }
}

需要注意的是:

Math.pow(a,b):返回的数是double类型的,使用强制类型转换,转换为int类型。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页