[70]Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

思路

f(n) = f(n-1)+f(n-2)

Code

Python

memory = {}
memory[0] = 0
memory[1] = 1
memory[2] = 2
class Solution(object):
    def climbStairs(self, n):
        if n in memory:
            return memory[n]
        first = self.climbStairs(n-1)
        memory[n-1] = first
        second = self.climbStairs(n-2)
        memory[n-2] = second
        return first + second

results matching ""

    No results matching ""