Problem · Array

Best Time to Buy and Sell Stock

Learn this problem
EasyZoox logoZooxFULLTIMEONSITE INTERVIEW

Problem statement

You are given an array prices, where prices[i] is the price of one share on day i.

You may choose one day to buy one share and a later day to sell that share. Return the maximum profit you can earn. If no profitable transaction exists, return 0.

Function

maxProfit(prices: int[]) → int

Examples

Example 1

prices = [7,1,5,3,6,4]return = 5

Buy at price 1 and sell later at price 6, for profit 6 - 1 = 5.

Example 2

prices = [7,6,4,3,1]return = 0

Every later price is lower, so no profitable transaction exists.

Example 3

prices = [2,4,1]return = 2

Buy on the first day at price 2 and sell on the second day at price 4.

Constraints

  • 1 <= prices.length <= 200000
  • 0 <= prices[i] <= 1000000000
  • The returned profit fits in a signed 32-bit integer.

More Zoox problems

drafts saved locally
public int maxProfit(int[] prices) {
    // Write your code here.
}
prices[7,1,5,3,6,4]
expected5
checking account