Angenommen, Sie steigen Treppen. Es dauert n Schritte, bis Sie die Spitze des Gebäudes erreichen können.
Sie können 1 oder 2 Stufen gleichzeitig erklimmen. Auf wie vielen verschiedenen Wegen kann man zur Spitze des Gebäudes gelangen?
Beispiel 1:
Eingabe: n = 2
Ausgabe: 2
Erläuterung: Es gibt zwei Möglichkeiten, auf die Spitze des Gebäudes zu klettern.
1. 1. Ordnung + 1. Ordnung
2. 2. Ordnung
Beispiel 2:
Eingabe: n = 3
Ausgabe: 3
Erläuterung: Es gibt drei Möglichkeiten, auf die Spitze des Gebäudes zu klettern.
1. Stufe 1 + Stufe 1 + Stufe 1
2. Stufe 1 + Stufe 2
3. Stufe 2 + Stufe 1
Hinweis:
1 <= n <= 45
Quelle: LeetCode
Link: https://leetcode.cn/problems/climbing-stairs
Das Urheberrecht liegt beim LeetCode Network. Für kommerzielle Nachdrucke wenden Sie sich bitte an die behördliche Genehmigung, für nichtkommerzielle Nachdrucke geben Sie bitte die Quelle an.
class Solution {
public int climbStairs(int n) {
// if(n <= 1){
// return 1;
// }else{
// return climbStairs(n - 1) + climbStairs(n - 2);
// }
int p = 0;
int q = 0;
int r = 1;
for(int i = 1; i <= n;i++){
p = q;
q = r;
r = p + q;
}
return r;
}
}