Дан массив цен на акции, где prices[i] - цена акции в i-й день. Вы хотите максимизировать свою прибыль, выбрав один день для покупки одной акции и выбрав другой день в будущем для продажи этой акции. Необходимо найти максимальную прибыль, которую можно получить от покупки одной акции в любой день и продажи ее в другой день. Если прибыль получить невозможно, то вернуть 0.
Пример 1:
prices = [7,1,5,3,6,4]
maxProfit(prices)
Вывод:
5
Объяснение:
Купить акции во второй день по цене 1 и продать их в четверг дня по цене 6, получим прибыль 5.
Пример 2:
prices = [7,6,4,3,1]
maxProfit(prices)
Вывод:
0
Объяснение:
В данном случае невозможно получить прибыль, так как цены на акции падали каждый день.
minPrice
и maxProfit
в значение float('inf')
и 0
соответственно.minPrice
, то обновляем minPrice
. Иначе, вычисляем текущую прибыль по формуле prices[i] - minPrice
и обновляем maxProfit
, если она больше текущего значения.