Menu
CoddyTech

Best Time to Buy and Sell Stock

MudahGreedypython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan sebuah list prices, dengan prices[i] sebagai harga satu saham pada hari ke-i. Kamu boleh membeli satu saham pada suatu hari dan menjualnya pada hari berikutnya atau hari setelahnya. Kembalikan keuntungan terbesar yang bisa kamu dapatkan, atau 0 jika semua kemungkinan transaksi merugi.

Fungsi

maxProfit(prices: integer-array) → integer
pricesinteger-array
harga saham pada setiap hari, secara berurutan
Mengembalikaninteger
keuntungan terbesar dari satu pembelian dan penjualan setelahnya, atau 0

Batasan

  • 1 ≤ prices.length ≤ 105
  • 0 ≤ prices[i] ≤ 104
  • Kamu melakukan paling banyak satu transaksi, dan kamu menjual pada hari setelah hari kamu membeli.

Contoh

Input
prices = [7, 2, 5, 9, 1, 4]
Output
7
Penjelasan
Beli pada hari ke-1 dengan harga 2 dan jual pada hari ke-3 dengan harga 9 untuk mendapatkan keuntungan 7. Harga termurah, yaitu 1 pada hari ke-4, terjadi setelah harga 9, jadi penjualan terbaik setelahnya hanya menghasilkan 3.
challenge icon

Pertanyaan lanjutan

Bagaimana jika kamu boleh melakukan transaksi sebanyak yang kamu inginkan, sambil memegang paling banyak satu saham pada satu waktu?

Reset kode
def maxProfit(prices):
    # Tulis kodemu di sini

Tes #1

Tes #2

Argumen

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

Output yang diharapkan

7