[LeetCode] 0070. subir escaleras

Subir escaleras

Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github

Tabla de contenido

Fácil


Estás subiendo una escalera. norte pasos para llegar a la cima.

Cada vez que puedas escalar 1 o 2 escalones. ¿De cuántas maneras distintas puedes subir hasta la cima?

 

Ejemplo 1:

Aporte: norte=2
Producción: 2
Explicación: Hay dos formas de subir a la cima 1. 1 escalón + 1 escalón 2. 2 escalones.

Ejemplo 2:

Aporte: norte=3
Producción: 3
Explicación: Hay tres formas de subir a la cima 1. 1 escalón + 1 escalón + 1 escalón 2. 1 escalón + 2 escalones 3. 2 escalones + 1 escalón.

 

Restricciones:

  • 1 <= norte <= 45

Pitón

				
					clase Solución: # complejidad del tiempo: O(n) # complejidad del espacio: O(n) # Cashe con fuerza bruta # def subirEscaleras(self, n: int) -> int: # memo = [0] * (n+1) # return self.climb_Stairs(0, n, memo) # complejidad del tiempo: O(n) # complejidad del espacio: O(n) # def rise_Stairs(self, i: int, n: int, memo: list) -> int: # si (i > n): # devuelve 0 # si (i == n): # devuelve 1 # si (memo[i]): # devuelve memo[i] # memo[i] = self.climb_Stairs(i+ 1 , n, memo) + \ # self.climb_Stairs(i+2, n, memo) # return memo[i] # complejidad del tiempo: O(n) # complejidad del espacio: O(b) # Programación dinámica # defclimbStairs( self , n: int): # si n == 1: # devuelve 1 # dp = [0] * (n + 1) # dp[1] = 1 # dp[2] = 2 # para i en rango(3, n+1): # dp[i] = dp[i-1] + dp[i-2] # return dp[n] # complejidad temporal: O(n) # complejidad espacial: O(1) # Número de Fibonacci def subirEscaleras(self, n: int) -> int: si n == 1: devuelve 1 primero = 1 segundo = 2 tercero = 0 para i en el rango(3, n+1): tercero = primero + segundo primero = segundo segundo = tercer retorno segundo n = 50 print(Solution().climbStairs(50))
				
			
es_ESEspañol