Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 1.57 KB

70-climbing-stairs.md

File metadata and controls

65 lines (47 loc) · 1.57 KB

70. Climbing Stairs - 爬楼梯

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

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

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

示例 1:

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

示例 2:

输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
1.  1 阶 + 1 阶 + 1 阶
2.  1 阶 + 2 阶
3.  2 阶 + 1 阶

题目标签:Dynamic Programming

题目链接:LeetCode / LeetCode中国

题解

Language Runtime Memory
python3 36 ms N/A
class Solution:
    def climbStairs(self, n):
        """
        :type n: int
        :rtype: int
        """
        steps = [1, 2]
        if n < 3:
            return n
        else:
            for i in range(n-2):
                if i % 2 == 0:
                    steps[0] += steps[1]
                else:
                    steps[1] += steps[0]
            if n % 2 == 0:
                return steps[1]
            else:
                return steps[0]