You are given an integer array nums and an integer k.
You are allowed to perform at most k swap operations on the array.
In one swap operation, you may choose any two indices i and j and swap nums[i] and nums[j].
Return an integer denoting the maximum possible subarray sum after performing the swaps.
Example 1:
Input: nums = [1,-1,0,2], k = 1
Output: 3
Explanation:
[1, 2, 0, -1].[1, 2] has a sum of 3, which is the maximum possible subarray sum after at most k = 1 swap.Example 2:
Input: nums = [4,3,2,4], k = 2
Output: 13
Explanation:
The maximum possible subarray sum after at most k = 2 swaps is the sum of the entire array, which is 13.
Example 3:
Input: nums = [-1,-2], k = 0
Output: -1
Explanation:
k = 0 swaps are allowed.[-1], [-2], and [-1, -2], with sums -1, -2, and -3 respectively.Constraints:
1 <= nums.length <= 1500-105 <= nums[i] <= 1050 <= k <= nums.lengtht swaps is the sum of the t largest outside elements minus the sum of the t smallest inside elements.t elements.t grows, so find the largest profitable t <= k and add its gain to the original subarray sum.[1,-1,0,2] 1
[4,3,2,4] 2
[-1,-2] 0