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

数组区间和问题——前缀和与 Kadane 算法

一、它们解决什么问题算法解决的问题典型题目前缀和快速求任意子数组的和303. 区域和检索Kadane求最大子数组和53. 最大子数组和一个关注“怎么快速求和”一个关注“和最大是多少”。二、前缀和定义prefix[i]表示前i个元素的和prefix[0] 0。子数组[l, r]的和 prefix[r1] - prefix[l]。代码模板int[] prefix new int[n 1]; for (int i 0; i n; i) { prefix[i 1] prefix[i] nums[i]; } // 子数组 [i, j] 的和 prefix[j1] - prefix[i]手动模拟nums [1,2,3,4]iprefix[i]00112336410子数组[1,3]的和 prefix[4] - prefix[1] 10 - 1 9优点O(1) 时间求任意子数组和适合多次查询。缺点需要额外 O(n) 空间。三、Kadane 算法核心思想从左往右遍历维护sum到当前位置为止包含当前元素的最大子数组和max全局最大和递推if (sum 0) sum nums[i]; else sum nums[i]; max Math.max(max, sum);代码int sum nums[0]; int max nums[0]; for (int i 1; i nums.length; i) { if (sum 0) sum nums[i]; else sum nums[i]; max Math.max(max, sum); } return max;手动模拟nums [-2,1,-3,4,-1,2,1,-5,4]inums[i]之前 sum新 summax0-2--2-211-2 ≤0112-31 0-2134-2 ≤0444-14 034523 055615 0667-56 016841 056结果 6优点O(n) 时间O(1) 空间一次遍历。缺点只适用于“最大子数组和”这类特定问题。四、两者对比对比前缀和Kadane目的快速求任意子数组和求最大子数组和核心prefix[r1] - prefix[l]sum max(nums[i], sumnums[i])时间复杂度预处理 O(n)查询 O(1)O(n)空间复杂度O(n)O(1)典型题目303、336453五、总结需要多次查询子数组和→ 前缀和需要找最大子数组和→ Kadane需要在长度限制下找最小正和→ 暴力枚举 前缀和优化两个不是替代关系各有各的用处。
http://www.rkmt.cn/news/1373377.html

相关文章:

  • 环境配置助手 For Mac:可视化管理 macOS 环境变量
  • 3DFlowAction框架:基于3D光学流的跨具身操作学习技术
  • 告别反复格式化!用Ventoy 1.0.97制作一个能装Win10、Ubuntu的万能启动U盘
  • NetworkManager配置静态IP太麻烦?试试CentOS Stream 9的nmcli命令行一键搞定
  • ARMv9 Trace Buffer架构与调试优化实战
  • 防爆组合直膨空调哪家好
  • 2026杭州小红书广告投放技术拆解与靠谱服务商盘点:杭州短视频运营公司、杭州AI搜索优化、杭州GEO优化、杭州SEM广告投放选择指南 - 优质品牌商家
  • 佛山中窄重型门厂家怎么选:佛山高端系统门窗厂家、佛山中窄重型断桥提升门厂家、佛山中窄重型门厂家、佛山全景推拉门窗厂家选择指南 - 优质品牌商家
  • 艾多美非传销远离“一夜暴富”,拥抱“细水长流”
  • Arm ETE嵌入式追踪技术:架构解析与调试优化
  • 基于K-Means聚类的学生考勤行为智能分群分析
  • MCU上的深度学习流量分类:HW-NAS优化与部署实践
  • 四川钢板厂家现货批发|工程专用钢材一站式配送 - 四川盛世钢联营销中心
  • 几字型檩条技术参数:几字型檩条、几字型钢厂家、几字形支架、几字形檩条、几字形钢、几字支座、几字支架、几字檩条、几字马凳选择指南 - 优质品牌商家
  • 纯视觉无感空间定位 实现煤矿井下人员精准全域管控技术白皮书
  • python async/await异步编程设计常用插件
  • BurpSuite中文界面配置全攻略:不改jar包的稳定方案
  • 原码和补码在系统中运行的应用
  • 家国铺路,希望AI平台能够在之后对深度玩家松松绑
  • C++20新特性之ranges::sort的使用小结
  • 华为小米三星iphone真我oppo保资料工具氧气法医oxygen forensic 17.1.0.131氧气17最新版支持华为苹果小米OPPO等保资料
  • 气象科研效率提升:用xarray和metpy优雅处理ERA5数据,自动计算Q1/Q2
  • 机器学习与空间分析在公共卫生研究中的应用:以乳腺癌筛查差异分析为例
  • JAVA动态调用函数,数字类型,Java 反射允许自动拓宽类型。
  • 2026永康木门品牌选择指南,避坑必看
  • 小学期week2记录
  • 聚焦“纪律高危型”学生的考勤画像深度分析
  • 基础能力系列 - 多线程1 - 内存序
  • 第1.6课 本周总结:跳出打工困局,打造专属个人经济体
  • 智能控制 第五章——神经网络控制论