天天看點

台階問題練習

有n級台階,一個人每次上一級或者兩級,問有多少種走完n級台階的方法。為了防止溢出,請将結果Mod 1000000007

給定一個正整數int n,請傳回一個數,代表上樓的方式數。保證n小于等于100000。

測試樣例:

1

傳回:1

動态規劃屆的弱智題

f(n)=f(n-1)+f(n-2);

class GoUpstairs {
public:
    int countWays(int n) {
        if(n==)
            return ;
        if(n==)
            return ;
        int pre=;
        int cur=;
        int next;
        for(int i=;i<=n;++i){
            next=(pre+cur)%1000000007;
            pre=cur;
            cur=next;
        }
    return next;
    }

};