Машина времени запаса
Вы получили доступ к набору данных, tomorrowStocks
который содержит цены на акции от вашего любимого бизнеса на NASDAQ. Этот набор данных является контейнером, индексированным по минутам после открытия. Каждый индекс содержит цену акции в то время.
// Assume the stock market opens at 9:30AM EDT
// tomorrowStocks[] contains the prices of your target stock.
// If the stock is $22 @ 10:30AM EDT
tomorrowStocks[60] == 22
Выход
Ваша задача состоит в том, чтобы определить наилучший возможный исход 1 purchase
и 1 sale
из 1 stock
из данного набора данных.
Gotchas
- Вы должны купить и продать ровно 1 акцию.
- Вы не можете покупать и продавать в одном и том же временном интервале.
- Вы должны купить, прежде чем продать.
Тестовые данные
[1,2,3,4,5] # 4
[1,99,2,105] # 104
[99,1,99,100] # 99
[99,1,1,2,1,3] # 2
[5,4,3,3,1] # 0
[5,4,3,1] # -1
[5,2,1] # -1
[5,4,1] # -1
[55,45,20,1] # -10
[5,1] # -4
[10,7,5,1] # -2
[7] # Invalid input -- assume size >= 2
Это код-гольф ; отправьте кратчайший ответ на вашем любимом языке!
[5,4,3,1]
вы можете , но для 5
и продают за 4
или покупать 4
и продавать для того 3
чтобы получить оптимальный результат -1
.