Запас машини
Ви отримали доступ до набору даних, 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.