//假設你正在爬樓梯。需要 n 階你才能到達樓頂。
//// 每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?
//// 注意:給定 n 是乙個正整數。
//// 示例 1:
//// 輸入: 2
//輸出: 2
//解釋: 有兩種方法可以爬到樓頂。
//1. 1 階 + 1 階
//2. 2 階
//// 示例 2:
//// 輸入: 3
//輸出: 3
//解釋: 有三種方法可以爬到樓頂。
//1. 1 階 + 1 階 + 1 階
//2. 1 階 + 2 階
//3. 2 階 + 1 階
這個問題關鍵是找到規律,然後用遞迴的方法解決問題
f(1)=1;
f(2)=2;
f(3)=3=f(1)+f(2);
f(4)=5=f(2)+f(3);
f(5)=8=f(3)+f(4);
…f(n)=f(n-2)+f(n-1)
class
solution
intadd
(int n,
int c,
int a,
int b)
return
add(n,c+
1,b,b+a);}
}
c表示的是上面函式的n,a表示的是f(n-2);b表示f(n-1);n是輸入進來的n,表示在**停住 爬樓梯問題
ok,前段時間在一篇blog上看到乙個關於樓梯的面試題,大概內容如下 現有乙個人,規定他上樓梯時只能一步走乙個台階或者兩個台階。要求 給定任意樓梯的階數,求共有多少種方法爬完樓梯。如果有經驗可以看出,這是一道遞迴的題目。不過這個遞迴 程式怎麼寫呢?我的思路是可以這樣想,不管他前面 怎麼爬,最後總是要...
爬樓梯問題
爬樓梯問題,每次可以走1步或者2步,爬上n層樓梯的總方法,這題就是乙個變相的fibonacci問題。當n 1時,有1種方法,即直接走1步 當n 2時,有2方法 連續走2步,或直接走兩步 對於n,設f n 為總方法,則 f n f n 1 f n 2 ps f n 1 即第一次走一步的走法,f n 2...
爬樓梯問題
蒜頭君自從春節回來以後,體重就像加了特技一樣duang duang 地暴增起來。於是小蒜頭打算每天爬樓梯來燃燒體內的脂肪 咦?蒜怎麼會有脂肪 蒜頭在爬樓梯的時候腦洞大開,因為蒜頭腿短,爬樓梯的時候一次只能邁1級或2級台階,它就想到了,假如一共有n級台階的話,它一共有多少種方法能夠爬到樓梯頂部呢?聰明...