[LeetCode] 0300. Subsecuencia creciente más larga

Subsecuencia creciente más larga

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

Medio


Dada una matriz de enteros números, devolver la longitud del más largo estrictamente creciente subsecuencia.

 

Ejemplo 1:

Aporte: números = [10,9,2,5,3,7,101,18]
Producción: 4
Explicación: La subsecuencia creciente más larga es [2,3,7,101], por lo tanto la longitud es 4.

Ejemplo 2:

Aporte: números = [0,1,0,3,2,3]
Producción: 4

Ejemplo 3:

Aporte: números = [7,7,7,7,7,7,7]
Producción: 1

 

Restricciones:

  • 1 <= números.longitud <= 2500
  • -10 4 <= números[i] <= 10 4

 

Hacer un seguimiento: ¿Puedes idear un algoritmo que se ejecute en O(n iniciar sesión(n)) ¿complejidad del tiempo?

Pitón

				
					Complejidad de tiempo de #: O(n^2) Complejidad de espacio de #: O(1) al escribir clase de lista de importación Solución: def lengthOfLIS(self, nums: List[int]) -> int: countList = [1] * len(nums ) para i en rango(1, len(nums)): para j en rango(i): si nums[i] > nums[j]: countList[i] = max(countList[i], countList[j] + 1) devolver max(countList) números = [0, 1, 0, 3, 2, 3] print(Solution().lengthOfLIS(nums))
				
			
es_ESEspañol