Stock Buy and Sell Problem Statement

You are given an array of integers PRICES where PRICES[i] represents the price of a stock on the i-th day, and an integer K representing the number of transactions you can perform.

Your task is to determine the maximum profit that can be achieved with at most K transactions. A valid transaction is defined as buying and then selling a stock.

Note:

You cannot engage in multiple transactions simultaneously; you must sell a stock before buying again.

Example:

Input:
N = 6, PRICES = [3, 2, 6, 5, 0, 3], K = 2
Output:
7
Explanation:

The optimal strategy to maximize profit is to buy on day 2 (price = 2) and sell on day 3 (price = 6), and then buy on day 5 (price = 0) and sell on day 6 (price = 3). The total maximum profit will be (6 - 2) + (3 - 0) = 7.

Input Format:

The first line contains an integer T, the number of test cases. For each test case:
- The first line contains two integers, N and K, separated by a space.
- The second line contains N integers which are the elements of the PRICES array.

Output Format:

For each test case, output a single integer representing the maximum profit achievable with at most K transactions.

Print each test case's result on a new line.

Constraints:

  • 1 ≤ T ≤ 100
  • 1 ≤ N ≤ 5000
  • 0 ≤ K ≤ N/2
  • 0 ≤ PRICES[i] ≤ 105
  • Time Limit: 1 second

Note:

Implementation does not require output printing; it is handled automatically. Just complete the function to return the maximum profit.
Be the first one to answer
Add answer anonymously...
Visa Software Engineer Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter