150 najlepszych wywiadówŚredni

Najlepszy czas na kupno i sprzedaż akcji z czasem odnowienia

Szczegółowy przewodnik i implementacja Python dla problemu „Najlepszy czas na kupno i sprzedaż akcji z czasem odnowienia”.

Oświadczenie o problemie

Średni

Dostajesz tablicę cen, gdzie ceny[i] to cena danej akcji w i-tym dniu.

Znajdź maksymalny zysk, jaki możesz osiągnąć. Możesz przeprowadzić dowolną liczbę transakcji (tj. kupić jedną i wielokrotnie sprzedać jedną akcję) z następującymi ograniczeniami:

- Po sprzedaży akcji nie można ich kupić następnego dnia (tzn. pewnego dnia jest to okres odnowienia).

Uwaga: Nie możesz angażować się w wiele transakcji jednocześnie (tj. musisz sprzedać akcje przed ponownym zakupem).

Napisz funkcję maxProfit(prices: List[int]) -> int.

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla 2D DP, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.