Say you have an array for which the

*i*th element is the price of a given stock on day*i*.
If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.

Solution:

loop through entire list and catch min_price and the position of this this price, when current reached price's position after min_price's position then do calculate difference and up max_profit

Solution:

loop through entire list and catch min_price and the position of this this price, when current reached price's position after min_price's position then do calculate difference and up max_profit