利用python 完成leetcode70

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

示例 1:

输入: 2
输出: 2
解释: 有两种方法可以爬到楼顶。

  1. 1 阶 + 1 阶
  2. 2 阶
    示例 2:

输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
3. 1 阶 + 1 阶 + 1 阶
4. 1 阶 + 2 阶
5. 2 阶 + 1 阶
思路
因为只能走1或2步,
第n种的方法就是第n-1种中的每一种方法最后加1和第n-2种中的每一种方法最后加2
已4为例
3 每种方法最后+1
1+ 1+1+1
1+2+1
2+1+1
2每种方法最后+2
1+1+2
2+2
合起来就是第4种
直接用斐波那契数列的解法

def climbStairs(self, n):
        a=1
        b=1
        i=1
        while(i!=n):
            b,a=a,a+b
            i=i+1
        return a

你可能感兴趣的:(leetcode,leetcode简单)