題目鏈接:70. 爬樓梯 - 力扣(LeetCode)
就是個斐波那契數(shù)列,達到第三個臺階的跳法可以從第一個臺階直接跳兩步或者是從第二個臺階跳一步,因此對于第n個臺階來說,可以從第n-2個臺階跳兩步到達,也可以從第n-1個臺階到達,因此跳到第n個臺階的跳法等于前兩個臺階的跳法之和
遞歸會超時文章來源:http://www.zghlxwxcb.cn/news/detail-847739.html
int climbStairs(int n) {
if(n==1||n==2)
return n;
return climbStairs(n-1)+ climbStairs(n-2);
}
改迭代文章來源地址http://www.zghlxwxcb.cn/news/detail-847739.html
class Solution {
public:
int climbStairs(int n) {
int a = 0, b = 0, c = 1;
while (n--) {
a = b;
b = c;
c = a + b;
}
return c;
}
};
到了這里,關于【LeetCode熱題100】【動態(tài)規(guī)劃】爬樓梯的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!