news 2026/7/15 1:48:40

LeetCode热题100--152. 乘积最大子数组--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode热题100--152. 乘积最大子数组--中等

题目

给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。

测试用例的答案是一个 32-位 整数。

请注意,一个只包含一个元素的数组的乘积是这个元素的值。

示例 1:
输入: nums = [2,3,-2,4]
输出: 6
解释: 子数组 [2,3] 有最大乘积 6。

示例 2:
输入: nums = [-2,0,-1]
输出: 0
解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。

题解

classSolution{publicintmaxProduct(int[]nums){intmax=Integer.MIN_VALUE,imax=1,imin=1;for(inti=0;i<nums.length;i++){if(nums[i]<0){inttmp=imax;imax=imin;imin=tmp;}imax=Math.max(imax*nums[i],nums[i]);imin=Math.min(imin*nums[i],nums[i]);max=Math.max(max,imax);}returnmax;}}

解析

出自:画解算法:152. 乘积最大子序列

classSolution{publicintmaxProduct(int[]nums){// 初始化全局最大乘积为最小整数值(用于后续更新)intmax=Integer.MIN_VALUE;// imax:以当前元素结尾的子数组的最大乘积// imin:以当前元素结尾的子数组的最小乘积(用于处理负数)intimax=1,imin=1;// 遍历数组中的每一个元素for(inti=0;i<nums.length;i++){// 如果当前数字是负数,交换 imax 和 imin// 原因:负数会使最大值变最小,最小值变最大if(nums[i]<0){inttmp=imax;imax=imin;imin=tmp;}// 更新以当前元素结尾的最大乘积:// 要么延续之前的子数组(imax * nums[i]),要么从当前元素重新开始(nums[i])imax=Math.max(imax*nums[i],nums[i]);// 更新以当前元素结尾的最小乘积(同样考虑重新开始 or 延续)imin=Math.min(imin*nums[i],nums[i]);// 更新全局最大乘积(记录历史最大值)max=Math.max(max,imax);}// 返回整个数组中子数组的最大乘积returnmax;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 18:24:00

常见错误汇总:运行TensorFlow镜像时最容易遇到的10个问题

运行 TensorFlow 镜像时最容易遇到的 10 个问题与实战解决方案 在现代 AI 工程实践中&#xff0c;容器化部署已经成为标准操作。尤其是在使用 TensorFlow 构建生产级机器学习系统时&#xff0c;Docker 镜像极大简化了环境配置、版本管理和跨平台协作流程。然而&#xff0c;即便…

作者头像 李华
网站建设 2026/7/14 18:23:25

Liveness和Readiness探针在TensorFlow镜像中的应用

Liveness和Readiness探针在TensorFlow镜像中的应用 在现代AI系统中&#xff0c;一个训练好的模型被部署上线只是第一步。真正考验工程能力的&#xff0c;是它能否在复杂多变的生产环境中持续稳定地提供服务。尤其是在Kubernetes这样的容器编排平台上运行TensorFlow Serving时&a…

作者头像 李华
网站建设 2026/7/12 11:09:45

基于图像处理的电线杆输电线路电力设施异常识别方法研究

目录 选题背景意义数据集数据采集数据清洗与筛选数据标注数据增强 功能模块巡航主站系统防外破检测设备系统总站系统 算法理论卷积神经网络YOLO 算法关键帧提取算法 核心代码介绍图像识别模块消息推送模块数据处理模块 重难点和创新点重难点创新点 总结相关文献 选题背景意义 …

作者头像 李华
网站建设 2026/7/12 4:50:07

Open-AutoGLM技术全貌曝光(20年AI专家亲述架构设计逻辑)

第一章&#xff1a;Open-AutoGLM的技术到底是啥Open-AutoGLM 是一个面向自动化自然语言理解与生成任务的开源框架&#xff0c;其核心技术融合了图神经网络&#xff08;GNN&#xff09;与大规模语言模型&#xff08;LLM&#xff09;的协同推理机制。该架构通过构建语义-逻辑双通…

作者头像 李华
网站建设 2026/7/14 18:25:25

Java计算机毕设之基于springboot的深圳市体育中心体育赛事管理、场地管理、场地预约管理、赛事管理(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华