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

力扣热门100题之最大子数组和

最优解法:Kadane 算法(一遍遍历)

核心思想

  • 遍历数组时,维护当前最大和
  • 如果前面的和是负数,只会拖累当前数,直接抛弃前面
  • 否则,把当前数加进去
  • 全程记录最大值

完整代码实现:

class Solution { public int maxSubArray(int[] nums) { if(nums==null || nums.length == 0){ return 0; } // 当前连续子数组的最大和 int currentMax = nums[0]; // 全局最大和(最终答案) int globalMax = nums[0]; // 从第 2 个数开始遍历 for(int i = 1;i<nums.length;i++){ // 核心: // 如果 currentMax 是负数 → 抛弃前面,从当前数重新开始 // 如果 currentMax 是正数 → 加上当前数,继续延长子数组 currentMax = Math.max(nums[i], currentMax + nums[i]); // 更新全局最大值 globalMax = Math.max(globalMax, currentMax); } return globalMax; } }

最简单记忆口诀

前面是负的就扔掉,前面是正的就加上。全程记录最大值。

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

相关文章:

  • Axios拦截器实战:从请求到响应的全流程控制
  • STM32分散加载机制与内存管理详解
  • 避开STM32定时器PWM的那些坑:从CubeMX配置到代码调试的避坑指南
  • SecGPT-14B API保护:防止OpenClaw任务过度消耗模型资源
  • 2007 Text 1
  • OpenClaw安全防护指南:Qwen3-32B私有镜像权限控制策略
  • SEO标题优化与内容营销的关系是什么
  • ESM3 vs AlphaFold3:不需要MSA的蛋白质预测新选择(含本地部署性能测试)
  • SEO_如何制定高效的SEO内容策略?分步指南
  • BH1750光传感器原理、I²C驱动与六种测量模式详解
  • 光刻胶选型避坑指南:从正胶负胶到配套试剂的全流程解析
  • RK3568实战:用QEMU在x86电脑上模拟构建和调试ARM64 Ubuntu 22.04根文件系统
  • OpenClaw场景词典:Qwen3.5-9B在20个日常任务中的实测表现
  • OpenClaw技能开发指南:为百川2-13B-4bits模型编写自定义技能
  • WSL2多版本Ubuntu共存与切换实战指南
  • ADI SC589官方资源挖宝指南:如何高效获取SDK/原理图/PCB设计文件
  • 避坑指南:鸿蒙3.0+Flutter开发BLE应用时,权限、后台保活与多设备管理的那些坑
  • C++的std--ranges算法自定义投影函数与成员指针在代码简洁性上的优势
  • SpringBoot源码企业公司ERP进销存管理系统JavaWeb项目前后端分离Vue实现方案
  • 【RV1106】基于LVGL的ST7735S驱动移植与图像显示实战
  • Unity/Unreal开发者必看:用四元数彻底告别万向死锁,让你的3D角色旋转丝滑起来
  • 无线工程师必备:用Wireshark解码802.11ac VHT Capabilities字段全攻略(含160MHz配置示例)
  • OpenClaw多模型混搭:Qwen2.5-VL-7B与文本模型协同工作流
  • Java集成LibreOffice实现高效Office文档批量转PDF方案
  • OpenClaw本地知识库构建:Qwen2.5-VL-7B处理扫描版PDF与图片资料
  • 从GCC到Nginx:一文搞定Linux开发环境搭建(附1.13.7版本编译避坑指南)
  • 嵌入式摇杆输入处理库:ADC滤波与按钮去抖设计
  • 电子工程师必备英语技能与实战指南
  • UE5 UMG坐标转换实战:用SlateBlueprintLibrary搞定UI拖拽与点击检测
  • TrueLicense实战避坑指南:从KeyTool生成密钥到SpringBoot拦截器校验的完整流程(附常见错误排查)