当前位置: 首页 > wzjs >正文

设计网站专业代写文案的公司

设计网站,专业代写文案的公司,图片制作教程,长春网站排名优化目录 题目描述 方法一、使用小根堆 方法二、排序 方法三、哈希 题目描述 1005. Maximize Sum Of Array After K Negations 三种方法都是贪心。 方法一、使用小根堆 class Solution { public:int largestSumAfterKNegations(vector<int>& nums, int k) {int s…

目录

题目描述

方法一、使用小根堆

方法二、排序

方法三、哈希


题目描述

1005. Maximize Sum Of Array After K Negations

三种方法都是贪心。 

方法一、使用小根堆

class Solution {
public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum = std::accumulate(nums.begin(),nums.end(),0);priority_queue<int,vector<int>,std::greater<int>> minHeap(nums.begin(),nums.end());while(k--){int min = minHeap.top();minHeap.pop();minHeap.push(-min);sum -= (2*min);}return sum;}
};

还可以优化一下。处理完负数后,当剩余数字全部是非负数的时候,可以一次处理结束。

class Solution {
public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum = std::accumulate(nums.begin(),nums.end(),0);priority_queue<int,vector<int>,std::greater<int>> minHeap(nums.begin(),nums.end());while(k){int min = minHeap.top();if(min>=0){if(k%2==1)sum -=(2*min);break;}minHeap.pop();minHeap.push(-min);sum -= (2*min);k--;}return sum;}
};

方法二、排序

按照绝对值从大到小排序。

class Solution {struct Cmp{bool operator()(int a,int b) const{return abs(a)>abs(b);}};
public:int largestSumAfterKNegations(vector<int>& nums, int k) {sort(nums.begin(),nums.end(),Cmp());int n = nums.size();for(int i = 0;i < n;i++){if(k>0 && nums[i] < 0){nums[i]*=-1;k--;}if(k ==0)break;}if(k%2==1) nums[n-1]*=-1;return accumulate(nums.begin(),nums.end(),0);}
};

方法三、哈希

由于-100 <= nums[i] <= 100,故方法二的排序可以用哈希替代。

class Solution {
public:int largestSumAfterKNegations(vector<int>& nums, int k) {int sum = 0;unordered_map<int,int> count;for(int num:nums){count[num]++;sum += num;}for(int i = -100;i <0;i++){if(count[i] > 0){int operation_cnt = min(count[i],k);sum -= operation_cnt*2*i;k -= operation_cnt;count[i] -= operation_cnt;count[-i]+= operation_cnt;if(k == 0)break;}}if(k>0 && k%2==1 && count[0]==0){for(int i = 0;i <=100;i++){if(count[i]>0){sum -= 2*i;break;}}}return sum;}
};
http://www.dtcms.com/wzjs/187862.html

相关文章:

  • 网站 新闻同步骤更新 ecshop知识营销成功案例介绍
  • 广州 营销型网站建设公司找培训班一般在什么平台
  • 开发一款游戏需要多少资金谷歌广告优化师
  • 安庆做网站爱站站长工具
  • 优秀电商网站设计seo快速优化排名
  • 网站优化北京黄山网站建设
  • wordpress主题如何使用教程seo黑帽教程视频
  • 龙岗大运做网站的公司网站建设加推广优化
  • flash网站用什么做seo外链是什么意思
  • 帮别人做网站服务器网络推广深圳有效渠道
  • 国外 图片网站怎样在网上做宣传
  • 厦门抖音代运营公司seo诊断方法步骤
  • wordpress支持响应式吗关键词优化公司哪家强
  • 改行做网站百度问答入口
  • 做外贸一般要注册哪些外贸网站软文广告发稿
  • 云南网站建设公司前十名友情链接交换网站
  • wordpress耗资源升级程序seo投放营销
  • 网站建设需要些什么软件百度seo推广首选帝搜软件
  • 深圳做公司网站电子商务
  • wdcp搭建网站中公教育培训机构官网
  • 云上网站做等保关键词优化好
  • 404做的好的网站电商培训大概多少学费
  • 扶贫工作网站怎么做推广普通话作文
  • python 做网站怎样交换链接营销
  • 黑龙江新闻联播历年片头外贸建站seo
  • 上海最新新闻资讯宁波seo网站推广
  • 临沂做网站建设找哪家精准网络营销推广
  • 做网站公司如何赚钱76人vs猛龙
  • 运城做网站公司网络广告创意
  • 南宁太阳能网站建设推广游戏赚钱的平台