Menu
CoddyTech

Climbing Stairs

Bạn đứng dưới chân một cầu thang có n bậc. Mỗi lần di chuyển, bạn có thể bước lên 1 hoặc 2 bậc. Hai cách đi được tính là khác nhau nếu chuỗi bước đi khác nhau, vì vậy 1, 2 và 2, 1 là hai cách. Hàm của bạn nhận n và trả về số cách khác nhau để lên đến đỉnh.

Hàm

climbStairs(n: integer) → integer
ninteger
số bậc cầu thang
Trả vềinteger
số chuỗi khác nhau gồm các bước 1 và bước 2 để đến bậc n

Ràng buộc

  • 1 ≤ n ≤ 45
  • Đáp án nằm trong phạm vi số nguyên có dấu 32 bit: n = 45 cho kết quả 1836311903.

Ví dụ

Đầu vào
n = 3
Đầu ra
3
Giải thích
Có thể leo ba bậc theo cách 1, 1, 1, theo cách 1, 2 hoặc theo cách 2, 1, vậy có 3 cách.
challenge icon

Câu hỏi mở rộng

Nếu một số bậc bị hỏng và bạn không thể bước lên chúng thì sao? Công thức truy hồi thay đổi như thế nào, và số cách đi cho một bậc bị hỏng là bao nhiêu?

Đặt lại code
def climbStairs(n):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Đối số

n = 3

Đầu ra mong đợi

3