Menu
CoddyTech

Best Time to Buy and Sell Stock

LeichtGreedypython iconjava iconcpp iconc iconjs icon+10

Du erhältst eine Liste prices, wobei prices[i] der Preis einer Aktie am Tag i ist. Du kannst an einem Tag eine Aktie kaufen und sie an einem späteren Tag verkaufen. Gib den größtmöglichen Gewinn zurück, den du erzielen kannst, oder 0, wenn jeder mögliche Handel zu einem Verlust führt.

Funktion

maxProfit(prices: integer-array) → integer
pricesinteger-array
der Aktienkurs an jedem Tag, der Reihe nach
Gibt zurückinteger
der größte Gewinn aus einem Kauf und einem späteren Verkauf oder 0

Einschränkungen

  • 1 ≤ prices.length ≤ 105
  • 0 ≤ prices[i] ≤ 104
  • Du tätigst höchstens einen Handel und verkaufst an einem späteren Tag, als du kaufst.

Beispiele

Eingabe
prices = [7, 2, 5, 9, 1, 4]
Ausgabe
7
Erklärung
Kaufe an Tag 1 für 2 und verkaufe an Tag 3 für 9, um einen Gewinn von 7 zu erzielen. Der günstigste Preis, 1 an Tag 4, kommt nach den 9, daher bringt der beste Verkauf danach nur 3 ein.
challenge icon

Weiterführende Frage

Was wäre, wenn du beliebig viele Trades machen darfst, aber jeweils höchstens eine Aktie halten darfst?

Code zurücksetzen
def maxProfit(prices):
    # Schreibe hier den Code

Test #1

Test #2

Argument

prices = [7, 2, 5, 9, 1, 4]

Erwartete Ausgabe

7