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

微信官方网站seo视频教程汇总

微信官方网站,seo视频教程汇总,自己做电视视频网站吗,制作php网站目录 题目描述 方法一、使用小根堆 方法二、排序 方法三、哈希 题目描述 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/445586.html

相关文章:

  • 开网店骗局seo推广服务哪家好
  • iis7配置asp.net网站百度关键词排名提升工具
  • 枣阳市市城乡建设委员会网站网络广告投放渠道有哪些
  • 网站友情链接如何做google国际版入口
  • 设计行业网站上海推广服务
  • 晋江网站开发网站搜索引擎优化的基本内容
  • 内丘网站建设案例公司网站推广方案
  • wordpress做的网站扩展性东莞网站推广及优化
  • 福田网站建设多少钱怎么给公司做网站
  • 高端品牌网站建设制作多少钱郑州网站技术顾问
  • 做网站 域名 服务器的关系百度seo排名点击
  • 广州安全教育平台登录账号登录入口西安网站seo哪家公司好
  • 广州购物网站建设价格深圳推广服务
  • 遂宁做网站企业管理培训机构排名前十
  • 义乌做网站公司百度不收录网站
  • 2345浏览器在线官方进一步优化
  • 网站做支付要多少钱培训心得体会200字
  • 唐山网站主页制作创意设计
  • 网站顶部导航代码网站推广排名哪家公司好
  • 建设银行总行网站电商网站规划
  • wordpress企业建站教程营销推广有哪些公司
  • 哈尔滨政务性网站制作公司免费找客源软件
  • 做论坛app网站有哪些网站安全检测平台
  • wordpress云建站系统百度网盘app下载
  • 婚介交友网站建设真正永久免费的建站系统有哪些
  • 龙口网站设计北京网站优化方式
  • 本地安装wordpress账户是什么seo推广软件品牌
  • 那里有网站建设行业关键词一览表
  • wordpress 仿ifanr宁波优化推广找哪家
  • 万州那家做网站seo搜索引擎优化推广