Top 150 des entrevuesMoyen

Meilleur moment pour acheter et vendre des actions avec un temps de recharge

Guide détaillé et implémentation de Python pour le problème « Meilleur moment pour acheter et vendre des actions avec temps de recharge ».

Énoncé du problème

Moyen

Vous recevez un tableau de prix où prix[i] est le prix d'une action donnée le ième jour.

Trouvez le profit maximum que vous pouvez réaliser. Vous pouvez effectuer autant de transactions que vous le souhaitez (c'est-à-dire acheter une action et vendre une action plusieurs fois) avec les restrictions suivantes :

- Après avoir vendu vos actions, vous ne pouvez pas en acheter le lendemain (c'est-à-dire avec un délai de récupération d'un jour).

Remarque : Vous ne pouvez pas effectuer plusieurs transactions simultanément (c'est-à-dire que vous devez vendre l'action avant de l'acheter à nouveau).

Écrivez une fonction maxProfit(prices: List[int]) -> int.

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

Exemples

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?
Pensez à utiliser des structures de données 2D spécifiques à DP, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.