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...
Top Razorpay SDET-2 interview questions & answers
Top HR questions asked in Razorpay SDET-2
Stay ahead in your career. Get AmbitionBox app
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
Get AmbitionBox app