leetcode-乘积最大子数组 📅 发布时间:2026/7/12 4:06:54 👁️ 浏览次数: 给你一个整数数组 nums 请你找出数组中乘积最大的非空连续 子数组该子数组中至少包含一个数字并返回该子数组所对应的乘积。测试用例的答案是一个 32-位 整数。请注意一个只包含一个元素的数组的乘积是这个元素的值。示例 1:输入: nums [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: nums [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。提示:1 nums.length 2 * 104-10 nums[i] 10nums 的任何子数组的乘积都 保证 是一个 32-位 整数思路假设一个非空连续子数组序列1,2,3,…,k。该序列由k个数组成。该数组序列乘积最大。对于第k个数该问题中可能为正数也可能为负数。如果k为正数那么非空连续子数组序列1,2,3,…,k-1为正数。如果k为负数那么非空连续子数组序列1,2,3,…,k-1为负数。设数组中下标为i的数是非空连续子数组序列的第k个数。那么nums[i]要么是nums[i-1]为结尾的连续子数组序列的后一个数要么nums[i]是连续子数组序列的第一个数。分两种情况如果nums[i]0最大的乘积maxPos[i] Max(maxPos[i-1]*nums[i],nums[i]);如果nums[i]0最大的乘积maxPos[i] Max(minPos[i-1]*nums[i],nums[i]);期间还需要维护最小的乘积同样分两种情况。如果nums[i]0最小的乘积minPos[i] Max(minPos[i-1]*nums[i],nums[i]);如果nums[i]0最小的乘积minPos[i] Max(maxPos[i-1]*nums[i],nums[i]);代码class Solution{publicintmaxProduct(int[]nums){int[]maxNumsnewint[nums.length];int[]minNumsnewint[nums.length];intresnums[0];maxNums[0]nums[0];minNums[0]nums[0];for(inti1;inums.length;i){if(nums[i]0){maxNums[i]Math.max(nums[i],nums[i]*maxNums[i-1]);minNums[i]Math.min(nums[i],nums[i]*minNums[i-1]);}else{maxNums[i]Math.max(nums[i],nums[i]*minNums[i-1]);minNums[i]Math.min(nums[i],nums[i]*maxNums[i-1]);}resMath.max(res,Math.max(maxNums[i],minNums[i]));}returnres;}}
华东服务器机柜 网络稳定 在数字化浪潮中,服务器机柜作为网络基础设施的关键组成部分,其性能与稳定性对于各类业务的开展起着决定性作用,尤其是在经济与科技蓬勃发展的华东地区,服务器机柜所承载的网络稳定使命更为关键。华东地区地理位置优越,… 2026/7/7 4:06:18
制药产品如何正确归类?关务最容易踩坑的 HS 编码问题一次讲清 在化工与制药外贸领域,每一次新产品的报关,对关务人员而言,都可能是一场耗时且充满不确定性的“信息狩猎”。你面对的,不是一个简单的编号查询,而是一系列环环相扣的复杂决策:它究竟属于有机化学品还是药品… 2026/7/8 16:51:35
芯片制造企业如何选择PDF转Word发布方案? 企业官网CMS编辑器增强功能开发方案 群主自白 各位老铁好啊!我是安徽的一个PHP程序员,最近接了个企业官网的外包项目,客户非要让我在UEditor里加上Word/Excel/PPT/PDF导入功能,还要支持一键粘贴Word内容。这需求听着就头大&… 2026/7/10 22:30:21
反向传播算法详解:从奶茶店经营到神经网络梯度计算 反向传播算法是深度学习中最核心、最神秘的概念之一。很多人一看到复杂的数学公式就望而却步,觉得这是只有数学天才才能理解的高深理论。但真相是,反向传播的本质其实非常简单,就像经营一家奶茶店算账一样直观。如果你曾经被那些复杂的偏导数… 2026/7/12 4:04:40
VMware共享磁盘性能与风险解析:4种SCSI控制器模式对比与数据安全指南 VMware共享磁盘技术深度解析:SCSI控制器性能对比与数据安全实践在企业虚拟化环境中,共享磁盘配置是构建高可用集群、分布式系统的重要基础。本文将深入探讨VMware环境下四种主流SCSI控制器(LSI Logic SAS、LSI Logic Parallel、VMware Paravi… 2026/7/12 4:04:40
AI音视频处理工具落地实践:从单任务到批量处理的稳定性指南 这类工具最值得先看的不是功能列表,而是能不能在普通环境里稳定跑起来。我一般会建议把第一次测试拆成三步:启动、单条任务、批量任务。下面按实际落地顺序拆一遍。1. 先确认它到底解决的是转写、配音还是字幕生成问题输入材料里没有明确说明具体功能&am… 2026/7/12 4:04:40
Python与AI入门:从零基础到项目实战的完整指南 还记得第一次打开 Python 编辑器时,面对空白的代码窗口,那种既兴奋又茫然的感觉吗?你可能已经听说过 AI 能写代码、能分析数据、能自动生成内容,但不知道从哪里开始才能真正上手。吴恩达的这门《初学者入门AI的第一课-Python》之所… 2026/7/12 4:02:39
UE4性能优化全链路实战:从工具链到移动端专项调优 1. 项目概述:为什么UE4性能优化是个系统工程?做UE4项目,尤其是面向移动端或者追求高帧率体验的项目,性能问题就像房间里的大象,你没法假装看不见。很多开发者,特别是刚入行的朋友,容易把性能优化… 2026/7/12 4:02:39
AV Triage:基于3D场景浏览与预标注的自动驾驶数据提效工具 1. 项目概述:一个为自动驾驶数据标注提效的“场景浏览器”如果你正在做自动驾驶(AV)或者高级驾驶辅助系统(ADAS)的感知模型开发,那你一定对数据标注这个环节又爱又恨。爱的是,没有高质量标注数据… 2026/7/12 4:02:39
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/12 0:01:13
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/12 0:01:13
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/12 0:03:14