- find the lowest point in the prices
- find the highest point in the prices
- most important: the lowest point must not behind the highest point
so walk through the prices
, see check if there is more profit at current point. (profit = current - lowest before current
)
foreach p in prices
lowest = MIN(p, lowest)
current_profit = p - lowest
maxprofit = MAX(maxprofit, current_profit)