149. Leetcode 1005. K 次取反后最大化的数组和 (贪心算法-基础题目)
生活随笔
收集整理的這篇文章主要介紹了
149. Leetcode 1005. K 次取反后最大化的数组和 (贪心算法-基础题目)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
那么本題的解題步驟為:
第一步:將數組按照絕對值大小從大到小排序,注意要按照絕對值的大小
第二步:從前向后遍歷,遇到負數將其變為正數,同時K--
第三步:如果K還大于0,那么反復轉變數值最小的元素,將K用完
第四步:求和
class Solution:def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:nums = sorted(nums,key=abs,reverse=True)for i in range(len(nums)):if k > 0 and nums[i] < 0:nums[i] = nums[i] * (-1)k -= 1if k > 0:nums[len(nums)-1] *= ((-1)**k)return sum(nums)?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的149. Leetcode 1005. K 次取反后最大化的数组和 (贪心算法-基础题目)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 148. Leetcode 455. 分
- 下一篇: 150. Leetcode 860. 柠