Le migliori 150 intervisteFacile

Il momento migliore per acquistare e vendere azioni

Guida dettagliata e implementazione Python per il problema "Momento migliore per acquistare e vendere azioni".

Dichiarazione del problema

Facile

Ti viene fornito un array prices dove prices[i] è il prezzo di un determinato titolo il iesimo giorno.

Vuoi massimizzare il tuo profitto scegliendo un solo giorno per acquistare un'azione e scegliendo un giorno diverso in futuro per vendere quell'azione.

Restituisci il profitto massimo che puoi ottenere da questa transazione. Se non riesci a ottenere alcun profitto, restituisci 0.

Scrivi una funzione maxProfit(prices: List[int]) -> int.

Vincoli
  • 1 <= len(prices) <= 10^5
  • 0 <= prices[i] <= 10^4

Esempi

Example 1
Input
prices = [7, 1, 5, 3, 6, 4]
Output
5
Explanation

Buy on day 2 (price = 1) and sell on day 5 (price = 6). Profit = 6 - 1 = 5.

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

No profitable transaction is possible since prices only decrease.

Need a Hint?
Prendi in considerazione l'utilizzo di strutture dati specifiche della finestra scorrevole come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.