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
Te dan una matriz precios
dónde precios[i]
es el precio de una determinada acción en el yo
día.
Encuentra el máximo beneficio que puedes lograr. como máximo dos transacciones.
Nota: No puede realizar múltiples transacciones simultáneamente (es decir, debe vender las acciones antes de volver a comprarlas).
Ejemplo 1:
Aporte: precios = [3,3,5,0,0,3,1,4] Producción: 6 Explicación: Compre el día 4 (precio = 0) y venda el día 6 (precio = 3), beneficio = 3-0 = 3. Luego compre el día 7 (precio = 1) y venda el día 8 (precio = 4), beneficio = 4-1 = 3.
Ejemplo 2:
Aporte: precios = [1,2,3,4,5] Producción: 4 Explicación: Compre el día 1 (precio = 1) y venda el día 5 (precio = 5), ganancia = 5-1 = 4. Tenga en cuenta que no puede comprar el día 1, comprar el día 2 y venderlos más tarde, ya que está participando. múltiples transacciones al mismo tiempo Debes vender antes de volver a comprar.
Ejemplo 3:
Aporte: precios = [7,6,4,3,1] Producción: 0 Explicación: En este caso, no se realiza ninguna transacción, es decir, beneficio máximo = 0.
Restricciones:
1 <= precios.longitud <= 10 5
0 <= precios[i] <= 10 5
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 threeSumSmaller(self, nums: List[int], target: int) -> int: result = 0 nums. sort() para i en rango(len(nums) - 1): resultado += self.twoSumSmaller(nums, i + 1, target - nums[i]) devuelve resultado def twoSumSmaller(self, nums: List[int], startIdx: int, target: int) -> int: izquierda = startIdx derecha = len(nums) - 1 resultado = 0 mientras izquierda < derecha: if nums[izquierda] + nums[derecha] < destino: resultado += derecha - izquierda izquierda += 1 más: derecha -= 1 devolver resultado números = [-2, 0, 1, 3] objetivo = 2 imprimir(Solución().tresSumSmaller(nums, objetivo))