Problem · Array

Best Time to Buy and Sell Stock

Learn this problem
EasyJPMorgan Chase logoJPMorgan ChaseFULLTIMEPHONE SCREEN

Problem statement

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

Choose at most one day to buy one share and one later day to sell it. 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 a profit of 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] <= 10^9

More JPMorgan Chase problems

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