剑指 Offer 10- II. 青蛙跳台阶问题

剑指 Offer 10- II. 青蛙跳台阶问题

和斐波那契数列一样的思路,这里有点不同的是,当台阶数为0的时候,有1中可达的方式,故而返回1。

class Solution {
    public int numWays(int n) {
        int MOD = (int)(1e9 + 7);
        int a = 1, b = 2;
        if(n == 0) return a;
        if(n == 1) return a;
        if(n == 2) return b;
        int c = (a + b) % MOD;
        for(int i = 3; i <= n; i++) {
            c = (a + b) % MOD;
            a = b;
            b = c;
        } 
        return c;
    }
}
posted @ 2022-01-22 21:03  NullPointer_C  阅读(25)  评论(0)    收藏  举报