剑指Offer(10-2)青蛙跳台阶问题

目录

青蛙跳台阶问题

示例 1

示例 2

示例 3

提示

方法:迭代


青蛙跳台阶问题

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

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1

输入

n = 2

输出

2

示例 2

输入

n = 7

输出

21

示例 3

输入

n = 0

输出

1

提示

0 <= n <= 100

方法:迭代

class Solution {
    public int numWays(int n) {
        if (n<2){
            return 1;
        }else{
            int fn1=1,fn2=1,fn=0;
            for (int i = 2; i <=n ; i++) {
                fn=(fn1+fn2)%1000000007;
                fn2=fn1;
                fn1=fn;
            }
            return fn;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_39478524/article/details/120502652