8、跳臺階
題目描述:
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。
思路:
找規律,發現是斐波那契數列,遞歸。
假設現在6個臺階,我們可以從第5跳一步到6,這樣的話有多少種方案跳到5就有多少種方案跳到6,另外我們也可以從4跳兩步跳到6,跳到4有多少種方案的話,就有多少種方案跳到6,其他的不能從3跳到6什麼的啦,所以最後就是f(6) = f(5) + f(4)
;這樣子也很好理解變態跳臺階的問題了。
public class Solution {
public int JumpFloor(int target) {
if(target<=0){return 0;}
if(target==1){return 1;}
if(target==2){return 2;}
return JumpFloor(target-1)+JumpFloor(target-2);
}
}