劍指offer[跳臺階]
阿新 • • 發佈:2018-11-24
劍指offer[跳臺階]
題目描述
一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先後次序不同算不同的結果)。
思路
設F(n)為第n級臺階的跳法,則當青蛙站在有n層臺階前時,它只能跳一級或者兩級。當他跳一級後,臺階的可能跳法變為F(n-1)。當他跳兩級後,臺階的可能跳法變為F(n-2)。所以F(n)=F(n-1)+F(n-2)。此為斐波那契數列的遞推公式!!!
程式碼
public class Solution {
public int JumpFloor(int target) {
int result=0;
int first=1;
int second=2;
if(target<1){
return 0;
}else if(target<3){
return target;
}else{
for(int i=3;i<=target;i++){
result= second+first;
first=second;
second=result;
}
}
return result;
}
}