04 / 205
LeetCode · EasyOson10 ball· ~20 daqiqa

Best Time to Buy and Sell Stock

Sizga prices deb nomlangan massiv berilgan, unda prices[i] ma'lum bir aksiyaning i-kuni narxini bildiradi.

Siz bir kunni aksiya sotib olish uchun va kelajakdagi boshqa bir kunni aksiyani sotish uchun tanlab, maksimal foydani topishingiz kerak.

Agar hech qanday foyda topa olmasangiz, 0 ni qaytaring.

example.go
func solve(prices []int) int {
    // ...
}

Misollar

kod
Input: prices = [7,1,5,3,6,4]
Output: 5
Tushuntirish: 2-kuni sotib oling (narx = 1) va 5-kuni soting (narx = 6), foyda = 6 - 1 = 5.
E'tibor bering, 2-kuni sotib olib, 1-kuni sotish mumkin emas, chunki sotishdan oldin sotib olishingiz kerak.
kod
Input: prices = [7,6,4,3,1]
Output: 0
kod
Input: prices = [2,4,1]
Output: 2

Maslahatlar

  1. Massivni ikki marta ichma-ich aylanish shart emas — bitta o'tishda 'shu kungacha ko'rilgan eng arzon narx'ni kuzatib borish mumkin.
  2. Chapdan o'ngga yurib hozirgacha eng kichik narxni saqlab boring; har bir kunda hozirgi narx bilan shu minimal narx orasidagi farqni maksimal foyda bilan solishtiring.