斐波那契 70 爬樓梯

2022-07-19 08:36:13 字數 834 閱讀 9443

假設你正在爬樓梯。需要 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 階

思路:

因為只用返回的是有幾種解決的辦法,不用返回具體的解決辦法是什麼

所以問題就變的簡單了起來

第一階有一種方法,第二階有兩種方法,第三階就有第一階方法數加上第二階方法數的方法,第四階的方法等於(第一階 + 第二階 + 第三階)

所以就是乙個斐波那契數列

class

solution

else

if (i == 1)

else

}return level[n - 1];

}}

solution2

public

int 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是正整數,所以...