Best Time to Buy And Sell Stock
Detailed guide and Python implementation for the 'Best Time to Buy And Sell Stock' problem.
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 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.
Write a function maxProfit(prices: List[int]) -> int.
- •1 <= len(prices) <= 10^5
- •0 <= prices[i] <= 10^4
Examples
prices = [7, 1, 5, 3, 6, 4]
5
Buy on day 2 (price = 1) and sell on day 5 (price = 6). Profit = 6 - 1 = 5.
prices = [7, 6, 4, 3, 1]
0
No profitable transaction is possible since prices only decrease.
Need a Hint?
Edge Cases to Watch
- Empty input structures
- Single element inputs
- Large numerical bounds
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.
Recommended Python Resources
Expand your knowledge with related interactive tutorials, cheat sheets, and code comparisons.
Python Try/Except & Error Handling
Prevent your Python scripts from crashing. Learn try, except, finally blocks and how to raise custom exceptions properly.
How to Convert String to Int in Python
Learn how to convert a string to an integer in Python using the int() function. Handle errors safely and convert numbers from binary, octal, or hex.
Python DateTime Formatting
Learn how to parse and format dates and times in Python using datetime, strftime, and strptime.
Python Decorators vs Decorator Design Pattern: The Key Differences
Compare Python decorators and the classic decorator design pattern. Understand the differences between definition-time function wrapping and runtime dynamic object composition with runnable code.