给你一个整数数组 nums。
你希望最大化 nums 的 交替和:将偶数下标的元素 相加 并 减去 奇数索引的元素获得的值。即 nums[0] - nums[1] + nums[2] - nums[3]...
同时给你一个二维整数数组 swaps,其中 swaps[i] = [pi, qi]。对于 swaps 中的每对 [pi, qi],你可以交换索引 pi 和 qi 处的元素。这些交换可以进行任意次数和任意顺序。
返回 nums 可能的最大 交替和。
示例 1:
输入:nums = [1,2,3], swaps = [[0,2],[1,2]]
输出:4
解释:
当 nums 为 [2, 1, 3] 或 [3, 1, 2] 时,可以实现最大交替和。例如,你可以通过以下方式得到 nums = [2, 1, 3]。
nums[0] 和 nums[2]。此时 nums 为 [3, 2, 1]。nums[1] 和 nums[2]。此时 nums 为 [3, 1, 2]。nums[0] 和 nums[2]。此时 nums 为 [2, 1, 3]。示例 2:
输入:nums = [1,2,3], swaps = [[1,2]]
输出:2
解释:
不进行任何交换即可实现最大交替和。
示例 3:
输入:nums = [1,1000000000,1,1000000000,1,1000000000], swaps = []
输出:-2999999997
解释:
由于我们不能进行任何交换,因此不进行任何交换即可实现最大交替和。
提示:
2 <= nums.length <= 1051 <= nums[i] <= 1090 <= swaps.length <= 105swaps[i] = [pi, qi]0 <= pi < qi <= nums.length - 1[pi, qi] != [pj, qj]