Problem Statement
You are given an array prices where prices[i] is the price of a given stock on the ith day.
You want to maximize your profit by choosing a single day to buy and a single day to sell (the selling day must be after the buying day).
Return the maximum profit you can achieve. If no profit is possible, return 0.
Approach
Track the minimum price seen so far and calculate the profit at each step. Keep updating the maximum profit.
Complexity Analysis
| Metric | Value |
|---|---|
| Time | O(n) |
| Space | O(1) |
Examples
Example 1
Input: prices = [7,1,5,3,6,4]
Output: 5
Explanation: Buy on day 2 (price = 1) and sell on day 5 (price = 6), profit = 6-1 = 5
Example 2
Input: prices = [7,6,4,3,1]
Output: 0
Explanation: No profitable transaction possible
Constraints
- ▸
1 <= prices.length <= 10^5 - ▸
0 <= prices[i] <= 10^4
Loading...
Sign in to run your code...
Asked by companies:
AmazonFacebookMicrosoftGoogleGoldman Sachs