Menu
CoddyTech

Climbing Stairs

Stoisz u podnóża schodów o n stopniach. Każdy ruch pozwala wejść o 1 lub 2 stopnie. Dwa sposoby wejścia są różne, jeśli różnią się sekwencją ruchów, więc 1, 2 i 2, 1 to dwa sposoby. Twoja funkcja otrzymuje n i zwraca liczbę różnych sposobów dotarcia na górę.

Funkcja

climbStairs(n: integer) → integer
ninteger
liczba stopni schodów
Zwracainteger
liczba różnych sekwencji kroków 1- i 2-krokowych, które prowadzą do kroku n

Ograniczenia

  • 1 ≤ n ≤ 45
  • Odpowiedź mieści się w 32-bitowej liczbie całkowitej ze znakiem: n = 45 daje 1836311903.

Przykłady

Wejście
n = 3
Wyjście
3
Wyjaśnienie
Można wejść na trzy stopnie, stawiając kroki po 1, 1, 1, 1, 2 lub 2, 1, więc są 3 sposoby.

lock icon+13 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Co jeśli niektóre stopnie są zepsute i nie da się na nich stanąć? Jak zmienia się rekurencja i jaka jest liczba dla zepsutego stopnia?

Zresetuj kod
def climbStairs(n):
    # Wpisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Wejście

n = 3

Oczekiwane

3