乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法(先後次序不同算不同的結果)
解法:這題的解法,主要思路是遞迴,首先假設第一次跳1級,那麼剩下的n-1級的跳法是多少種?
不知道,但是我們假設是x種跳法,如果第一次跳2級,我們同樣假設剩下的n-2中跳法有y種。x+y就是總數。
那麼現在的問題就變成了,
求該青蛙跳上乙個n-1級的台階總共有多少種跳法和
求該青蛙跳上乙個n-2級的台階總共有多少種跳法
所以,很明顯是遞迴
public
intjumpfloor(int target)
**很簡潔。
乙隻青蛙一次可以跳上1級台階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。
public
intjumpfloor(int target)
public
intjump(int target) while(target > 0);
return result;
}
跳台階問題 遞迴演算法
首先我們說說什麼是遞迴。程式呼叫自身的程式設計技巧稱為遞迴 recursion 遞迴做為一種演算法在 程式語言 中廣泛應用。乙個過程或 函式在其定義或說明中有直接或間接呼叫自身的一種方法,它通常把乙個大型複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來求解,遞迴策略只需少量的程式就可描述出解題...
演算法 青蛙跳台階
1.乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法。典型的斐波那契數列 2.青蛙跳台階plus版本 乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。關於本題,前提是n個台階會有一次n階的跳法。分析如...
Leetcode 青蛙跳台階問題
乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。答案需要取模 1e9 7 1000000007 如計算初始結果為 1000000008,請返回 1。示例 1 輸入 n 2 輸出 2 示例 2 0 n 100 這道題可以看成是斐波那契數列的變種。比如,...