 All Problems
Best Time to Buy and Sell Stock
easy
arrays
sliding window
amazon
facebook
microsoft
goldman sachs

You are given an array prices where prices[i] is the price of a stock on day i.

You want to maximize your profit by choosing a single day to buy and a single day to sell in the future. Return the maximum profit. If no profit is possible, return 0.

Example 1:

Input: 7 1 5 3 6 4
Output: 5
Explanation: Buy on day 2 (price=1), sell on day 5 (price=6). Profit = 6-1 = 5.

Example 2:

Input: 7 6 4 3 1
Output: 0
Explanation: Prices only decrease, no profit possible.

Constraints:

  • 1 ≤ prices.length ≤ 10⁵
  • 0 ≤ prices[i] ≤ 10⁴

Input format: Space-separated prices on one line.

Output format: Maximum profit (integer).

Run to check your code against the sample cases, or submit to run every case