フィボナッチ数列
トピック
一連の考え
ループを使用すると、複雑さが超過するため、
動的計画法を使用して、以前の値を保存し、後でそれを直接使用します。
コード
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
};