例1:
題目描述:
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)。
分析:本題可以用普通的遞迴來解,但是會超時,所以可以用能過儲存資料的dp來解決,狀態轉移方程為:
dp[j] =dp[j-1]+dp[j-2]
#include
#include
using
namespace
std;
class solution
return temp[number - 1];
}};int main(int argc, char** argv)
結果如下:
例2:
題目描述:
乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。
分析:
讓我們先來看下輸入與輸出的關係:
number:123
4567…
out :124
8163264…
由此可見輸出out與輸入number成指數形式,out = 2^(number - 1);
**如下:
#include
#include
using
namespace
std;
class solution
return result[number - 1];
}};int main(int argc,char** argv)
結果如下: 劍指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級的台階總共有多少種跳法。思路 首先窮舉一下到達最後一級台階的情況,分析最後到達是一步還是兩步。...