[LeetCode] 0016. 3Suma más cercana

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 de longitud norte y un numero entero objetivo, encuentre tres números enteros en números tal que la suma sea la más cercana a objetivo.

Devolver la suma de los tres números enteros.

Puede suponer que cada entrada tendría exactamente una solución.

Ejemplo 1:

Aporte: números = [-1,2,1,-4], objetivo = 1
Producción: 2
Explicación: La suma más cercana al objetivo es 2. (-1 + 2 + 1 = 2).

Ejemplo 2:

Aporte: números = [0,0,0], objetivo = 1
Producción: 0
Explicación: La suma más cercana al objetivo es 0. (0 + 0 + 0 = 0).

Restricciones:

  • 3 <= números.longitud <= 500
  • -1000 <= números[i] <= 1000
  • -10 4 <= objetivo <= 10 4

Pitón

				
					Complejidad de tiempo de #: O(n) Complejidad de espacio de #: O(n) al escribir import Lista clase Solución(objeto): def maxProfit(self, precios: Lista[int]) -> int: si len(precios) <= 1 : retorno 0 leftMin = precios[0] rightMax = precios[-1] longitud = len(precios) leftProfits = [0] * longitud rightProfits = [0] * (longitud + 1) para l en el rango(1, longitud): leftProfits[l] = max(leftProfits[l - 1], precios[l] - leftMin) leftMin = min(leftMin, precios[l]) r = longitud - 1 - l rightProfits[r] = max(rightProfits[r + 1], rightMax - precios[r]) rightMax = max(rightMax, precios[r]) maxProfit = 0 print(leftProfits) print(rightProfits) para i en rango(0, longitud): maxProfit = max(maxProfit, leftProfits[ i] + rightProfits[i + 1]) devuelve precios maxProfit = [7, 1, 5, 3, 6, 4] # leftProfit = [0, 0, 4, 4, 5, 5] # rightProfit = [5, 5 , 3, 3, 0, 0, 0] print(Solución().maxProfit(precios))
				
			
es_ESEspañol