LeetCode 1005. Maximize Sum Of Array After K Negations (K 次取反后最大化的数组和)

Posted 几米空间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 1005. Maximize Sum Of Array After K Negations (K 次取反后最大化的数组和)相关的知识,希望对你有一定的参考价值。

题目标签:Greedy

  每一次都找最小的值 进行更改。

  可以利用 priority queue 来实现操作。

  具体看code。

 

Java Solution: 

Runtime:  5 ms, faster than 33.84% 

Memory Usage: 38.6 MB, less than 11.76 %

完成日期:02/26/2020

关键点:priority queue

class Solution {
    public int largestSumAfterKNegations(int[] A, int K) {
        PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
        int sum = 0;
        
        for(int x: A) {
            pq.add(x);
        }
        
        while( K--  > 0) {
          pq.add(-pq.poll());  
        } 
        
        for(int i = 0; i < A.length; i++) {
            sum += pq.poll();
        }
        
        return sum;
    }
}

参考资料:LeetCode Discuss

LeetCode 题目列表 - LeetCode Questions List

题目来源:https://leetcode.com/

 

以上是关于LeetCode 1005. Maximize Sum Of Array After K Negations (K 次取反后最大化的数组和)的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode --- 1005. Maximize Sum Of Array After K Negations 解题报告

LeetCode 1005. Maximize Sum Of Array After K Negations (K 次取反后最大化的数组和)

1005. Maximize Sum Of Array After K Negations

Leetcode_easy849. Maximize Distance to Closest Person

一文通数据结构与算法之——贪心算法+常见题型与解题策略+Leetcode经典题

[LeetCode] 849. Maximize Distance to Closest Person_Easy tag: BFS