リコウ筆問題集 11日目(フィボナッチ数列+カエルのジャンプステップ)

フィボナッチ数列

トピック

ここに画像の説明を挿入

一連の考え

ループを使用すると、複雑さが超過するため、
動的計画法を使用して、以前の値を保存し、後でそれを直接使用します。

コード

var fib = function(n) {
    
    
    let n1=0, n2=1, sum;
    for(let i = 0; i < n; i++){
    
    
        sum=(n1 + n2) % 1000000007;
        n1=n2;
        n2=sum;
    }
    return n1;
};

カエルのジャンプ階段

トピック

ここに画像の説明を挿入

一連の考え

n歩跳ぶ=n-1歩跳ぶ+n-2歩跳ぶという方法は
フィボナッチ数列に似ている

コード

var numWays = function(n) {
    
    
    if(n==0) {
    
    return 1}
    if(n<=2) {
    
    return n}
    let t1=1,t2 =2
    for(let i=3;i<= n;i++){
    
    
        let t=t1+t2
        t1 = t2
        t2 = t%1000000007
    }
    return t2
};

おすすめ

転載: blog.csdn.net/weixin_51610980/article/details/128448219