Best Time to Buy and Sell Stock III solution