class Solution:
def largestSumAfterKNegations(self, nums: List[int], K: int) -> int:
nums.sort(key=lambda x: abs(x), reverse=True) # 第一步:按照绝对值降序排序数组A
for i in range(len(nums)): # 第二步:执行K次取反操作
if nums[i] < 0 and K > 0:
nums[i] *= -1
K -= 1
if K % 2 == 1: # 第三步:如果K还有剩余次数,将绝对值最小的元素取反
nums[-1] *= -1
result = sum(nums) # 第四步:计算数组A的元素和
return result