假設你正在爬樓梯。需要 n 階你才能到達樓頂。
每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是乙個正整數。
示例 1:
輸入: 2輸出: 2解釋: 有兩種方法可以爬到樓頂。1. 1 階 + 1階
2. 2 階
示例 2:
輸入: 3輸出: 3解釋: 有三種方法可以爬到樓頂。1. 1 階 + 1 階 + 1階
2. 1 階 + 2階
3. 2 階 + 1 階
思路:
因為只用返回的是有幾種解決的辦法,不用返回具體的解決辦法是什麼
所以問題就變的簡單了起來
第一階有一種方法,第二階有兩種方法,第三階就有第一階方法數加上第二階方法數的方法,第四階的方法等於(第一階 + 第二階 + 第三階)
所以就是乙個斐波那契數列
classsolution
else
if (i == 1)
else
}return level[n - 1];
}}
solution2
publicint climbstairs(int
n)
int pre2 = 1, pre1 = 2;
for (int i = 2; i < n; i++)
return
pre1;
}
leetcode 70 爬樓梯 斐波那契數列
假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 2 階 示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1 階 1...
斐波那契數列和爬樓梯問題
n階樓梯,每次爬一階或者兩階,求總共有多少中方法爬n階樓梯?include stdafx.h include using namespace std int louti int n b 30 c 30 申請陣列用於儲存結果 intmax 30 能求出的結果位數最大為30位,可任意設定 int j,k...
LC070 爬樓梯 斐波那契
該陣列每個元素的指標對應的是台階數,元素的值存放的是台階數對應的方法數 不管怎樣,陣列下標指標肯定是從0開始的,所以要考慮0.有0個台階,不需要爬,所以沒有方法數 但從斐波那契角度,dp 0 1 dp 1 1 1階台階,只有一種方式 1 2階台階,有兩種方式 1 1,2 因為題目設定n是正整數,所以...