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