Tencent 45 escaleras para subir

Tencent 45-subir escaleras

Supongamos que estás subiendo escaleras. Toma n pasos para llegar a la cima del edificio.
Puedes subir 1 o 2 escalones a la vez. ¿De cuántas maneras diferentes puedes subir a la cima del edificio?

Nota: El n dado es un entero positivo.
Ejemplo 1:
Entrada: 2
Salida: 2
Explicación: Hay dos formas de subir a la cima del edificio.

  1. Nivel 1 + Nivel 1
  2. Nivel 2

Ejemplo 2

Entrada: 3
Salida: 3
Explicación: Hay tres formas de subir a la cima del edificio.

  1. 1er orden + 1er orden + 1er orden
  2. 1er orden + 2do orden
  3. Nivel 2 + Nivel 1

La recursión convencional, que también se puede decir que es dp, puede
usar una lista o diccionario para almacenar el resultado del cálculo anterior. El
parámetro de entrada actual puede usar el resultado del parámetro de entrada anterior, que es dp

class Solution:
    def climbStairs(self, n: int) -> int:
        # if n==0 or n==1:return 1
        # else: return self.climbStairs(n-1)+self.climbStairs(n-2)
        #不能写递归,太深,只能写循环
        res={0:1,1:1}
        for i in range(2,n+1):
            res.update({i:res[i-1]+res[i-2]})
        return res[n]
Publicado 93 artículos originales · elogiado 8 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/zlb872551601/article/details/103652435
Recomendado
Clasificación