AlgoLounge

Best Time to Buy and Sell Stock

easy

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

You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock.

Return the maximum profit you can achieve from this transaction. If you cannot achieve any profit, return 0.

Examples

Example 1

Input:  prices = [7,1,5,3,6,4]
Output: 5

Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5. Note that buying on day 2 and selling on day 1 is not allowed because you must buy before you sell.

Example 2

Input:  prices = [7,6,4,3,1]
Output: 0

In this case, no transactions are done and the max profit = 0.

Constraints

  • 1 <= prices.length <= 10⁵
  • 0 <= prices[i] <= 10⁴
TypeScript
Loading editor…
List of test cases (10)
Case 1
prices = [7,1,5,3,6,4]
Case 2
prices = [7,6,4,3,1]
Case 3
prices = [1,2]
Case 4
prices = [2,1]
Case 5
prices = [1]
Case 6
prices = [1,2,3,4,5]
Case 7
prices = [5,4,3,2,1]
Case 8
prices = [3,3,5,0,0,3,1,4]
Case 9
prices = [1,4,2]
Case 10
prices = [2,4,1]