在樓梯台階為n階情況下,每次可跳1次或者2次,結果返回為到達n階樓梯的跳法
假設在第i層台階之前,可以通過i-1處跳1階台階到達第i層,也可通過i-2處跳2階到達第i層.......
同理如果允許一次跳三層台階則 可在i - 3 處跳 3 階到達 第 i 層台階。
即 到達第i層台階的方式由i-1、i-2的方式構成 。。 具體**如下:
public class solution
return res;
/**遞迴方式
執行時間約為 : 449 ms
所佔空間約為 : 9284k
return jumpfloor(target - 1) + jumpfloor(target - 2);*/}
}
通過對演算法的簡單比較,可以發現同樣的測試資料下,非遞迴式演算法較遞迴式演算法要高效近49倍,而相比之下非遞迴演算法中所使用記憶體空間僅比遞迴式多200k左右。 青蛙跳台階(java)
一 問題描述 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。二 演算法分析 因為青蛙一次只能跳上1級台階或者兩級台階,所以對於第n級台階來說,青蛙只能從第n 1級台階或者第n 2級台階跳上。設青蛙跳上第n級台階有f n 種跳法,則 f n f n 1 f ...
演算法 青蛙跳台階
1.乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。典型的斐波那契數列 2.青蛙跳台階plus版本 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。關於本題,前提是n個台階會有一次n階的跳法。分析如...
青蛙跳台階
乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。解題思路 1 如果兩種跳法,1階或者2階,那麼假定第一次跳的是一階,那麼剩下的是n 1個台階,跳法是f n 1 2 假定第一次跳的是2階,那麼剩下的是n 2個台階,跳法是f n 2 3 總跳法為 f n f n...