> For the complete documentation index, see [llms.txt](https://longxingtan.gitbook.io/mle-interview/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://longxingtan.gitbook.io/mle-interview/01_leetcode/10_greedy/1005.-maximize-sum-of-array-after-k-negations.md).

# 1005. Maximize Sum Of Array After K Negations

<https://leetcode.com/problems/maximize-sum-of-array-after-k-negations>

## solution

```python
class Solution:
    def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:
        nums.sort()

        n = 0
        for i, num in enumerate(nums):
            if n <= k-1 and num < 0:
                nums[i] = -nums[i]
                n += 1
            else:
                break

        if k > n:
            if (k - n) % 2 == 0:
                return sum(nums)
            else:
                nums.sort()
                nums[0] = -nums[0]
                return sum(nums)
        else:
            return sum(nums)
```

时间复杂度：O()\
空间复杂度：O()
