题目:
思路:
为了让数组的和最大化,所以,每次进行符号变换的时候,应该选择当前数组中最小的数取反,这样的话,如果最小的数是负数,取反刚好为正,结果会变大;如果是整数,选择最小的变为负数才可以使结果最大化。
代码:
class Solution:
def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:
for i in range(k):
Min = min(nums)
nums[nums.index(Min)] = -Min
Maxsum = 0
for i in nums:
Maxsum += i
return Maxsum
结果:
关于LeetCode的解题方法欢迎大家一起讨论~