劍指offer 08 跳台階

2021-09-02 14:21:01 字數 800 閱讀 6309

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。

於本題,前提只有 一次 1階或者2階的跳法。

a.如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n-1個台階,跳法是f(n-1);

b.假定第一次跳的是2階,那麼剩下的是n-2個台階,跳法是f(n-2)

c.由a\b假設可以得出總跳法為: f(n) = f(n-1) + f(n-2)

d.然後通過實際的情況可以得出:只有一階的時候 f(1) = 1 ,只有兩階的時候可以有 f(2) = 2

e.可以發現最終得出的是乙個斐波那契數列:

|1,

(n=1)f

(n)=|2

,(n=2)

|f(n-1)+

f(n-2)

,(n>

2,n為整數)

public

class

solution08

if(target ==1)

if(target ==2)

int one =

1, two =

2, result =0;

for(

int i =

3; i <= target; i++

)return result;

}public

static

void

main

(string[

] args)

}

劍指offer 08 跳台階

題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 時間限制 c c 3秒,其他語言6秒 空間限制 c c 64m,其他語言128m 題目示例 示例1 輸入 1 返回值 1 示例2 輸入 4 返回值 5解法分析我記得這好像是一...

劍指Offer 08 跳台階(遞推)

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 這是一道經典的遞推題目,你可以想如果青蛙當前在第n級台階上,那它上一步是在 呢?顯然,由於它可以跳1級台階或者2級台階,所以它上一步必定在第n 1,或者第n 2級台階,也就是說它跳上n...

牛客 劍指offer 08 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 跳上1級台階 1種 跳上2級台階 2種 跳上3級台階 跳上n級台階 即 f n f n 1 f n 2 看到這裡你肯定會發現這其實就是 斐波那契數列 的變種,不了解的可以看我這篇文章 ...