【遞歸與改進】面試題:100級臺階,每跨一步只能1級或者2級臺階,一共多少種方案

面試時的想法是:最多一次兩級,因此把100級臺階兩個兩個一組分成50個線段相連,最多走50個兩級,那就是一共:
在這裏插入圖片描述
實際上這樣劃分丟失了一些可能的情況,比如可能走法:先走1級,再走2級 這種方案在上面就不會出現。

看了其他人的解析,應該用遞歸求解,但是遞歸會導致重複計算,於是在面試官要求的時間內可能算不出來,於是需要改進。

遞歸解法和改進解法如下(Python版),100級臺階共573147844013817084101種方案:
在這裏插入圖片描述