跳台階 劍指Offer(Java語言)

2021-09-11 07:00:46 字數 414 閱讀 3103

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

跳n階的跳法數量為jumpfloor(n)

由於一次可以跳1階,也可以跳2階,按最後一跳是跳1階還是2階可分為兩種情況

若最後一跳是跳1階,則共有跳法jumpfloor(n-1)種

若最後一跳是跳2階,則共有跳法jumpfloor(n-2)種

故jumpfloor(n)=jumpfloor(n-1)+jumpfloor(n-2)

即算乙個斐波那契數列的第n項,且此題中的第1項為1,第2項為2

非遞迴演算法

public class solution 

return c;}}

}

斐波那契額數列演算法可以參考

劍指 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 分析 因為只能跳1級或2,假設n階有f n 種跳法。所以有兩種情況 a 如果第一次跳的是1階,那麼剩下的n 1個台階,跳法有f n 1 b 如果第一次跳的是2階,那麼剩下的n 2個台階...

劍指offer 跳台階

跳台階1 題目 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 遞迴思想 可以理解為前面m步的情況加上最後一步的情況,前面m步理解為,m 1步加上最後一步的情況。最後一步分為2中情況,上1級和上2級。如下 class solution 跳台階2 題目 ...

劍指Offer 跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 解析 當青蛙到到n級時,有兩種跳法,一種是從n 1級跳1級,還有種是n 2跳2級 f n f n 1 f n 2 大家對這個公式是不是很熟悉,對,是斐波那契數列。所以這是一道動態規劃的問題。斐波那契數列,只能上...