news 2026/4/25 21:34:32

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/4/25 21:34:31

收藏!软件测试面试题

找工作最重要的一步自然是面试。作为一名软件测试工程师&#xff0c;面试当然是职业发展中的重要环节。马上跳槽季&#xff0c;网上出现了各种面试题&#xff0c;一时会让人眼花缭乱&#xff0c;分不清最该看哪个。 虽然不鼓励死记硬背&#xff0c;但了解面试问题是必要的。以…

作者头像 李华
网站建设 2026/4/23 10:41:46

AI安全与蒙昧时代:模型监管与开源之争

AI安全与蒙昧时代 摘要 针对前沿AI模型的严格许可和监控提案可能无效甚至适得其反&#xff0c;它们将以不可持续的方式集中权力&#xff0c;并可能逆转启蒙时代取得的社会成果。在保卫社会与赋能社会自我保护之间的平衡是微妙的。我们应倡导开放、谦逊和广泛磋商&#xff0c;以…

作者头像 李华
网站建设 2026/4/20 17:20:03

算法工程师:AI算法、LLM开发、生成式人工智能面试题(2026通关指南)

生成式人工智能面试考察重点 生成式人工智能面试&#xff0c;旨在考察候选人的技术知识储备、战略思维能力&#xff0c;以及落地安全高效人工智能解决方案的实操能力。面试会围绕大语言模型基础原理、提示词工程、检索增强生成技术流程、负责任人工智能等核心内容展开&#xf…

作者头像 李华
网站建设 2026/4/23 14:58:32

构建私有TensorFlow镜像:添加企业专属安全模块

构建私有TensorFlow镜像&#xff1a;添加企业专属安全模块 在金融、医疗等对数据安全极度敏感的行业&#xff0c;一个看似不起眼的容器镜像&#xff0c;可能成为整个AI系统中最脆弱的一环。想象一下&#xff1a;开发团队从Docker Hub拉取了一个标准的TensorFlow镜像用于模型训…

作者头像 李华
网站建设 2026/4/24 20:33:02

TensorFlow镜像大小优化技巧:减少拉取时间和存储开销

TensorFlow镜像大小优化技巧&#xff1a;减少拉取时间和存储开销 在现代机器学习工程中&#xff0c;一个看似微不足道的问题却常常成为部署瓶颈——容器镜像太大了。你有没有遇到过这样的场景&#xff1a;Kubernetes滚动更新卡在“ImagePullBackOff”&#xff0c;只因为每个节点…

作者头像 李华