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

力扣1005 K次取反后最大化的数组和 java实现

1005.k次取反后最大化的数组和

给你一个整数数组nums和一个整数k,按以下方法修改该数组:

  • 选择某个下标i并将nums[i]替换为-nums[i]

重复这个过程恰好k次。可以多次选择同一个下标i

以这种方式修改数组后,返回数组可能的最大和

示例 1:

输入:nums = [4,2,3], k = 1输出:5解释:选择下标 1 ,nums 变为 [4,-2,3] 。

示例 2:

输入:nums = [3,-1,0,2], k = 3输出:6解释:选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2] 。

示例 3:

输入:nums = [2,-3,-1,5,-4], k = 2输出:13解释:选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4] 。

提示:

  • 1 <= nums.length <= 104
  • -100 <= nums[i] <= 100
  • 1 <= k <= 104

要确定哪些需要取反才能最大化和,就要先对数组进行排序,首先将负数进行取反,如果k值剩余奇数,就要对取反后的数组再次排序,这样剩余的最小值取反就能将和最大化

public static void main(String[] args) { // 测试用 int[] nums = {4,2,3}; System.out.println(largestSumAfterKNegations(nums, 1));; } public static int largestSumAfterKNegations(int[] nums, int k) { if (nums.length == 0){ return 0; } int res = 0; Arrays.sort(nums); for (int i = 0; i < nums.length && nums[i] < 0; i++) { if (k > 0){ nums[i] = -nums[i]; k--; }else { break; } } if (k % 2 == 1){ Arrays.sort(nums); nums[0] = -nums[0]; } for (int num : nums) { res = res + num; } return res; }

以上为记录分享用,代码较差请见谅

http://www.jsqmd.com/news/144935/

相关文章:

  • 高频注入法的永磁同步电机无传感器控制 高频电压信号注入法 无速度传感器 matlab 仿真 不含文档
  • 实用指南:鸿蒙原生系列之监听布局和送显事件
  • 超微SYS-821GE-TNHR深度测评:8卡 NVIDIA H200 风冷 AI 服务器
  • zzlangchainlanggraph的一些学习资源
  • 屹晶微 EG27710 600V耐压、高性能、快速开关的半桥驱动芯片技术解析
  • 郑州哪里可以开病例证明病假条
  • 成都医疗机构最认可哪家数智技术医药批发商?
  • 基于SpringBoot+Vue的体育赛事交流平台毕业设计
  • Vision pro 项目分享:Pcd板线路检测(与halcon比较)
  • 北京哪里可以开病例证明病假条
  • Java毕设选题推荐:基于spring boot的高校宿舍管理系统设计基于springboot的高校学生宿舍管理系统设计【附源码、mysql、文档、调试+代码讲解+全bao等】
  • fdsafs
  • 南京哪里可以开病例证明病假条
  • 【计算机毕业设计案例】基于spring boot的高校宿舍管理系统设计基于spring boot + vue 的宿舍管理系统(程序+文档+讲解+定制)
  • 2026 3D打印机买家指南:TCT亚洲 3D打印展首批百款展品曝光,涵盖工业级金属3D 打印到桌面级3D打印机!持续更新中~
  • 云服务器选型指南
  • 基于SpringBoot+Vue的前后端分离在线学习平台的设计与实现毕业设计
  • AI能力进化还在狂飙!Epoch数据洞察打破人们对AI进化减缓的预期
  • 东莞哪里可以开病例证明病假条
  • 供应链计划系统架构实战(三):全球平台数据与实现难点分析
  • 数字人民币跨境支付试点启动,稳定币会被取代吗?
  • 计算机Java毕设实战-基于springboot的考研学生在线学习与交流系统的设计与实现基于SpringBoot的考研规划与交流平台设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 云服务器成本优化
  • 长沙哪里可以开病例证明病假条
  • “AI大语言模型+”助力大气科学相关交叉领域实践技术应用
  • 通过TDE + DBG 实现数据库“存储加密 + 字段脱敏”双模防护方案
  • STM32项目分享:智能家用垃圾桶
  • 技术鸿沟与角色突围:AI时代产品经理的能力重构与CAIE认证价值
  • [Mac] Now冥想音频提取工具,无需会员,安装即用
  • 【计算机毕业设计案例】基于springBoot考研资讯系统设计与实现基于springboot的考研学生在线学习与交流系统的设计与实现(程序+文档+讲解+定制)