70. Climbing Stairs
- Total Accepted: 139063
- Total Submissions: 363734
- Difficulty: Easy
- Contributors: Admin
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?
Code
from math import sqrt class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ if n < 0: return -1 elif n == 0: return 0 else: return int((((1 + sqrt(5))/2)**(n+1) - ((1 - sqrt(5))/2)**(n+1))/sqrt(5))
Idea
Essentially a fibonacci sequence.