題目描述
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
時間限制:c/c++ 3秒,其他語言6秒 空間限制:c/c++ 64m,其他語言128m
題目示例
示例1:
輸入:
1
返回值:
1示例2:
輸入:
4
返回值:
5解法分析我記得這好像是一道小學奧數題?當有n節台階時,如果青蛙最後一步跳一節,那麼它跳n-1節台階時有多少種跳法,跳n節台階時就有多少種跳法;如果青蛙最後一步跳兩節,那麼它跳n-2節台階時有多少種跳法,跳n節台階時就有多少種跳法。可以看出,跳n節台階的跳法種類,相當於跳n-1節台階和跳n-2節台階跳法的和。
熟悉吧?沒錯,這就是個斐波那契數列。解法自然跟上一題斐波那契數列一致。
**
陣列+迴圈:
1迴圈:function
jumpfloor(number)
2else
13return
fib[number];14}
15 }
1執行結果function
jumpfloor(number)29
return
res;
10 }
![](https://pic.w3help.cc/87b/bbf8fdcf745cfd3d6b73bc7d021a6.jpeg)
劍指offer 08 跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 於本題,前提只有 一次 1階或者2階的跳法。a.如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 b.假定第一次跳的是2階,那麼剩下的是...
劍指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 看到這裡你肯定會發現這其實就是 斐波那契數列 的變種,不了解的可以看我這篇文章 ...