1. 程式人生 > >劍指offer[跳臺階]

劍指offer[跳臺階]

劍指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; } }

細節知識

斐波那契數列