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

【代码随想录day 28】 力扣 1005. K次取反后最大化的数组和

视频讲解:https://www.bilibili.com/video/BV138411G7LY/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/1005.K%E6%AC%A1%E5%8F%96%E5%8F%8D%E5%90%8E%E6%9C%80%E5%A4%A7%E5%8C%96%E7%9A%84%E6%95%B0%E7%BB%84%E5%92%8C.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
力扣题目:https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/

这道题的思路其实很简单:

  1. 将数组按绝对值从大到小排
  2. 先紧着绝对值大的负数进行取反,并且消耗k
  3. 如果负数全部取反但是k没有被消耗完,判断k是否是偶数,如果是,无事发生
  4. 如果剩余k不是偶数,选择绝对值最小的数进行取反,也就是nums[nums.size() - 1]
  5. 最后计算result
    需要注意的是,sort函数支持自定义排序:
class Solution {static bool cmp(int a, int b) {return abs(a) > abs(b);
}sort(nums.begin(), nums.end(), cmp);

cmp是自定义的排序函数。

class Solution {static bool cmp(int a, int b) {return abs(a) > abs(b);
}
public:int largestSumAfterKNegations(vector<int>& nums, int k) {sort(nums.begin(), nums.end(), cmp);for(int i = 0; i < nums.size(); i++){//优先将nums中的负数反转,因为已经sort过了,for循环都是先挑绝对值大的负数反转if(nums[i] < 0 && k > 0){nums[i] = nums[i] * (-1);k--;}}//反转负数后如果k还有剩余,分奇偶,偶数无事发生,奇数挑个绝对值最小的反转if(k % 2 == 1){//找出绝对值最小值nums[nums.size() - 1] *= -1;}int result = 0;for(int i : nums){result = result + i;}return result;}
};
http://www.dtcms.com/a/414711.html

相关文章:

  • Python 2025:云原生与容器化技术的新浪潮
  • 上网出现危险网站wordpress批量修改文章内链接
  • 速通ACM省铜第十六天 赋源码(Sigma Cubes和Find Permutation 2和Rotate and Sum Query)
  • 算法题(219):纪念品
  • Cybersecurity AI (CAI) - 轻量级网络安全AI框架
  • 接网站建设_网站设计交换链接的其它叫法是
  • 计算机视觉(opencv)——基于 dlib 的实时摄像头人脸检测
  • qq空间网站开发商延期交房可以退房吗?
  • 装潢设计与制作是学什么seo超级外链
  • 鹤庆县公路建设网站汕头网站建设 网络服务
  • pdf绘制编辑如何等比例缩放?PDF编辑为什么缩放时图像会乱会变形,为什么要按住shift等比例缩放?
  • 简单的网站后台管理系统如何屏蔽WordPress更新
  • Excel文件瘦身指南:快速瘦身,告别卡顿-Excel易用宝
  • noScribe - 本地化AI音频转录工具
  • 【数据挖掘】基于随机森林回归模型的二手车价格预测分析(数据集+源码)
  • 国外做珠宝的网站有哪些贵阳市做网站电话
  • 有网站后台网站默认样式表
  • git仓库常用命令
  • 1网站建设的目标是什么意思南阳专业做网站公司
  • 基于LLM的智能GDB分析工具方案设计
  • 机器人动力学模型的快速入门介绍
  • 公司官网模板泰州网站优化公司
  • 小迪web自用笔记39
  • LeetCode 199.二叉树的右视图
  • 湖州 网站建设公司哪家好旺道seo优化
  • Linux jq 命令详解及应用场景
  • 第 5 篇:WebGL 从 2D 到 3D - 坐标系、透视与相机
  • 文字转语音——sherpa-onnx语音识别离线部署C++实现
  • 深度学习------专题《图像处理项目》下
  • wordpress 伪链接昭通seo