劍指 跳台階

2022-03-07 01:25:47 字數 550 閱讀 4080

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

分析:因為只能跳1級或2,假設n階有f(n)種跳法。

所以有兩種情況:

a、如果第一次跳的是1階,那麼剩下的n-1個台階,跳法有f(n-1)。

b、如果第一次跳的是2階,那麼剩下的n-2個台階,跳法有f(n-2)。

所以,可以得出總跳法:f(n) = f(n-1) + f(n-2)

而實際我們知道:只有一階的時候 f(1) = 1;只有二階的時候 f(2) = 2;即相當於是個斐波那契數列。

解:我們可以遞迴的方式:

public

class

solution

}

遞迴的方式開銷可能會很大,因為遞迴裡面有很多重複的計算,所以我們可以改成迭代的方式。

public

class

solution

return

total;

}}

劍指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 大家對這個公式是不是很熟悉,對,是斐波那契數列。所以這是一道動態規劃的問題。斐波那契數列,只能上...

劍指Offer 跳台階

author tom qian email tomqianmaple outlook.com github date 2017年8月10日 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 首先窮舉一下到達最後一級台階的情況,分析最後到達是一步還是兩步。...