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

package leetcode;

public class offer_10_2 {
    public int numWays(int n) {
        //斐波那契数列
        int[] arr=new int[n+1];
        if(n==0) {return 1;}
        if(n==1) {return 1;}
        if(n>=2) {
            arr[0]=1;
            arr[1]=1;
        }
        for(int i=2;i<=n;i++) {
            arr[i]=arr[i-1]+arr[i-2];
            //如果当前值大于等于1000000007,则需要对1000000007取模
            if(arr[i]>=1000000007) {
                arr[i]=arr[i]%1000000007;
            }
        }

        return arr[n];
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        offer_10_2 off=new offer_10_2();
        System.out.println(off.numWays(7));
    }

}

 

posted on 2022-03-09 10:11  一仟零一夜丶  阅读(20)  评论(0)    收藏  举报