Best Time to Buy and Sell Stock
I tried to find out local maxima and local minima, and then calculate the difference between them, it turned out that this is not needed.
- Constraints/Patterns
- Keep track of the
min_price, we always plan to sell from this point. - Move the window forward, and calculate
profiteach time, compare withmax_profit
- Keep track of the
max_profit = 0
min_price = float('inf') # Initialize to infinity
for price in prices:
if price < min_price:
min_price = price # Update minimum price
elif price - min_price > max_profit:
max_profit = price - min_price # Update maximum profit
return max_profitTo make this even more efficient, also keep in track of the max_price, skip the verification process of those that are not the biggest.