天天看点

爬楼梯(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_)