天天看點

爬樓梯(python實作)

題目描述:

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?

注意:給定 n 是一個正整數。

示例 1:

輸入: 2

輸出: 2

解釋: 有兩種方法可以爬到樓頂。

  1. 1 階 + 1 階
  2. 2 階

示例 2:

輸入: 3

輸出: 3

解釋: 有三種方法可以爬到樓頂。

4. 1 階 + 1 階 + 1 階

5. 1 階 + 2 階

6. 2 階 + 1 階

來源:力扣(LeetCode)

連結:https://leetcode-cn.com/problems/climbing-stairs

思路:斐波那契數列

代碼:

class Solution:
    def __init__(self,n):
        self.result=self.climbStairs(n)
    def climbStairs(self,n):
        if n==2:
            return 2
        if n==1:
            return 1
        return self.climbStairs(n-1)+self.climbStairs(n-2)
        
            
        
    
if __name__=='__main__':
    n=5
    solution=Solution(n)
    sum_=solution.result
    print(sum_)