青蛙跳台階問題

2021-10-23 17:36:36 字數 761 閱讀 9272

題目描述

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

思路:我們可以逆序思考,即

跳到第n級台階有f(n-1)+f(n-2)種方法

跳到第n-1級台階有f(n-2)+f(n-3)種方法

跳到第n-2級台階有f(n-3)+f(n-4)種方法

…跳到第3級台階有f(2)+f(1)種方法

跳到第2級台階有f(1)+f(0)種方法

當n==1或0時,我們返回1即可

其實這問題的本質就是深度優先搜尋

int

fun1

(int n)

當然也可以用動態規劃的思想dp[n]=dp[n-1]+dp[n-2],但空間複雜度為o(n)

int

fun2

(int n)

動態規劃的本質就是深度優先搜尋

還有一種最好的方法,空間複雜度為o(1)

int

fun3

(int n)

return b;

}

int

jumpfloorii

(int number)

intfun

(int n)

return ans;

}

青蛙跳台階問題

題目 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。我的思路 最開始我的思路是把這個看成是乙個數學問題,n i 1 k 2先把所有可能滿足這個公式的i和k求出來。然後在對i和k做排列組合。很明顯i的範圍應該是0 public int jumpflo...

青蛙跳台階問題

1 乙隻青蛙一次可以跳上 1 級台階,也可以跳上2 級。求該青蛙跳上乙個n 級的台階總共有多少種跳法。2 乙隻青蛙一次可以跳上1級台階,也可以跳上2 級 它也可以跳上n 級,此時該青蛙跳上乙個n級的台階總共有多少種跳法?分析 1 當n 1,只有1中跳法 當n 2時,有兩種跳法 當n 3 時,有3種跳...

青蛙跳台階問題

問題一 有乙隻青蛙,需要跳上100級台階。青蛙每次可以調一級或者兩級台階。問青蛙有多少種方式可以跳100級台階。思路 逆推 當青蛙站在100級台階上時,那它跳上100級時有可能是從99級跳一級上來的,也可能是從98級跳兩級跳上來的 從98級跳兩個一級包括在從99級跳一級情況內,所以不予考慮 所以f ...