Question
Buy and sell stocks k transactions
You are given an integer array prices where prices[i] is the price of a given stock on the ith day, and an integer k.
Find the maximum profit you can achieve. You may complete at most k transactions: i. e. you may buy at most k times and sell at most k times.
Note: You may not engage in multiple transactions simultaneously (i. e., you must sell the stock before you buy again).
Input
You don't need to read inputs or print anything. Complete the function maxProfit() that takes an integer representing k and an array prices and returns an integer representing the maximum profit you can achieve.
Custom Input:
The first line of input contains elements of "prices" separated by space.
The second line of input contains k
Constraints
1 ≤ k ≤ 100
1 ≤ prices. length ≤ 1000
0 ≤ prices[i] ≤ 1000
Custom Input:
The first line of input contains elements of "prices" separated by space.
The second line of input contains k
Constraints
1 ≤ k ≤ 100
1 ≤ prices. length ≤ 1000
0 ≤ prices[i] ≤ 1000
Output
Return the maximum profit you can achieve.
Example
Input:
3 2 6 5 0 3
2
Output:
7
Explanation:
Buy on day 2 (price = 2) and sell on day 3 (price = 6), profit = 6-2 = 4.
Then buy on day 5 (price = 0) and sell on day 6 (price = 3), profit = 3-0 = 3.
Total profit 4+3 = 7.
3 2 6 5 0 3
2
Output:
7
Explanation:
Buy on day 2 (price = 2) and sell on day 3 (price = 6), profit = 6-2 = 4.
Then buy on day 5 (price = 0) and sell on day 6 (price = 3), profit = 3-0 = 3.
Total profit 4+3 = 7.