青蛙跳台階(java)

2021-07-24 07:14:29 字數 627 閱讀 9467

一、問題描述

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

二、演算法分析

因為青蛙一次只能跳上1級台階或者兩級台階,所以對於第n級台階來說,青蛙只能從第n-1級台階或者第n-2級台階跳上。

設青蛙跳上第n級台階有f(n)種跳法,則

f(n) = f(n-1)+f(n-2),n>2

f(2) = 2

f(1) = 1

三、演算法設計

兩種解題方案,一,遞迴法;二,迭代法

根據遞推公式進行求解

四、編碼實現

一、遞迴法

public int jumpfloor(int target)

二、迭代法

public int jumpfloor1(int target) {

if(target <= 0) return 0;

if(target == 1) return 1;

if(target == 2) return 2;

int one = 1;

int two = 2;

int result = 0;

for(int i=2; i

青蛙跳台階

乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1 如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 2 假定第一次跳的是2階,那麼剩下的是n 2個台階,跳法是f n 2 3 總跳法為 f n f n...

青蛙跳台階

之前面試遇到了這種題目,不會,後來搜尋了一下,感覺分析的很好 青蛙跳乙個n階的台階,每次可以跳1階或者2階,求跳完n階y有多少種方法。分析 n 1,f n 1 n 2,f n 2 n 3,f n 3 n 4,f n 5 可以發現 f n f n 1 f n 2 由此也可以推想 比如要跳到第4階樓梯上...

青蛙跳台階

難易程度 中等 題目描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。在不考慮青蛙健康狀況的情況下 求該青蛙跳上乙個n級的台階總共有多少種跳法。思路 在本題的描述中,青蛙的行動只有兩種可能 一次跳乙個台階或者兩個台階,設n階台階的跳法為 f n 如果第一次跳了一階,那麼剩下的n 1階的跳法為f n...