FastPrepFastPrep
Problem Brief

Calculate Maximum Profit

PHONE SCREEN
See Amazon online assessment and hiring insights

You are given two lists:

  • price[]: A list of integers representing the prices of different stocks.
  • futurePrice[]: A list of integers representing the future prices of those stocks.
  • principle: An integer representing the amount of money you have available to invest.
  • You can buy as many stocks as you want, but the total cost of the stocks you buy must not exceed your principle.

    Task:

    Write a function that calculates the maximum profit you can make by buying stocks, where:

  • The profit for each stock is calculated as the difference between its futurePrice and price (i.e., futurePrice[i] - price[i]).
  • You can buy a stock only if its price is less than or equal to the available principle.
  • Constraints:)

    You can buy any number of stocks, as long as the total price of the selected stocks is less than or equal to principle. If you can't buy any stock (because all stock prices exceed the principle), the maximum profit is 0.

    πŸš— The 1010th thank you is being carried by USPS to spike! πŸ“¬

    1Example 1

    Input
    price = [10, 50, 30, 40, 70], futurePrice = [100, 40, 50, 30, 90], principle = 100
    Output
    110
    Explanation
    πŸ“πŸ“

    Constraints

    Limits and guarantees your solution can rely on.

    See above πŸ‘†
    public int calculateMaxProfit(int[] price, int[] futurePrice, int principle) {
      // write your code here
    }
    
    Input

    price

    [10, 50, 30, 40, 70]

    futurePrice

    [100, 40, 50, 30, 90]

    principle

    100

    Output

    110

    Sign in to submit your solution.