1. 程式人生 > >java 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

java 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

假設,一級臺階,有f(1)種方法,二級有f(2)種,以此類推,n級有f(n)種方法。

可以看出,f(1)=1;f(2)=2。

那麼,假設n級臺階,那麼第一步就有兩種情況,跳一步,跟跳兩步。

情況一:跳一步,那麼接下去的就是f(n-1);

情況二:跳兩步,那麼接下去的就是f(n-2)。

所以總數是f(n)=f(n-1)+f(n-2)。

public class Solution {
    public int JumpFloor(int target) {
		if(target==1){
			return 1;
			
		}
		if(target==2){
			return 2;
		}
		return JumpFloor(target-1)+JumpFloor(target-2);
    }
}