Entrevista a los 150 mejoresMedio

El mejor momento para comprar y vender acciones con enfriamiento

Guía detallada e implementación de Python para el problema 'Mejor momento para comprar y vender acciones con enfriamiento'.

Declaración del problema

Medio

Se le proporciona una matriz de precios donde precios[i] es el precio de una acción determinada en el iésimo día.

Encuentre el máximo beneficio que puede lograr. Puede completar tantas transacciones como desee (es decir, comprar una acción y vender una acción varias veces) con las siguientes restricciones:

- Después de vender sus acciones, no podrá comprar acciones al día siguiente (es decir, un día de recuperación).

Nota: No puede realizar múltiples transacciones simultáneamente (es decir, debe vender las acciones antes de volver a comprarlas).

Escribe una función maxProfit(prices: List[int]) -> int.

Restricciones
  • 1 <= len(prices) <= 5000
  • 0 <= prices[i] <= 1000

Ejemplos

Example 1
Input
prices = [1,2,3,0,2]
Output
3
Explanation

Transactions = [buy, sell, cooldown, buy, sell].

Example 2
Input
prices = [1]
Output
0
Explanation

No transaction can be made.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos 2D específicas de DP, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.