LeetCode-第70題

難度: 簡單

題目如圖
1、動態規劃
可以知道,如果要到達第n階臺階,有兩種方式:
第一:從n-1階臺階跨1步
第二:從n-2階臺階跨2步
設到達第n階臺階的方法總數爲sum(n)
那麼由上面可以知道:sum(n)=sum(n-2)+sum(n-1)

可以舉例假設一下假設n等於3,那麼到達第3階臺階由兩種方法
1、從第1階臺階跨2步上去
2、從第2階跨1步上去

相應的,到達第1階臺階只有一種方法,sum(1)=1;
到達第2階臺階也有兩種方法:從起始位置跨2步,和先跨1步再跨1步,sum(2)=2;
所以sum(3)=3;
在這裏插入圖片描述

2、斐波那契數列
通過觀察規律可以知道:
假設第0階爲1;
那麼可以得到從第1階往後分別是:
1,2,3,5,8,13…
這是一個很明顯的斐波那契數列

3、遞歸
同樣的思路,爬第n階臺階的方法和等於爬上第n-1階臺階和爬上第n-2階臺階方法之和
遞歸出口:n=0的時候返回1,n<0的時候返回0;
在這裏插入圖片描述
運行到44個樣例的時候棧爆了…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章