LeetCode练题——70. Climbing Stairs

1、题目

70. Climbing Stairs——Easy

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?

Note: Given n will be a positive integer.

Example 1:

Input: 2
Output: 2
Explanation: There are two ways to climb to the top.
1. 1 step + 1 step
2. 2 steps

Example 2:

Input: 3
Output: 3
Explanation: There are three ways to climb to the top.
1. 1 step + 1 step + 1 step
2. 1 step + 2 steps
3. 2 steps + 1 step

2、我的解答

 1 # -*- coding: utf-8 -*-
 2 # @Time    : 2020/2/16 14:03
 3 # @Author  : SmartCat0929
 4 # @Email   : [email protected]
 5 # @Link    : https://github.com/SmartCat0929
 6 # @Site    : 
 7 # @File    : 70. Climbing Stairs.py
 8 
 9 
10 class Solution:
11     def climbStairs(self, n: int) -> int:
12         if n < 3:
13             return n
14         count1, count2 = (1, 2)
15         for i in range(2, n):
16             count = count1 + count2
17             count1 = count2
18             count2 = count
19         return count
20 
21 
22 
23 print(Solution().climbStairs(11))

猜你喜欢

转载自www.cnblogs.com/Smart-Cat/p/12316833.html