企业官网型网站模板下载商业网站策划书模板范文
2026/4/18 9:13:07 网站建设 项目流程
企业官网型网站模板下载,商业网站策划书模板范文,wordpress 数据库结构,青岛网络推广方案服务题目 给你一个整数数组 nums #xff0c;请你找出数组中乘积最大的非空连续 子数组#xff08;该子数组中至少包含一个数字#xff09;#xff0c;并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 请注意#xff0c;一个只包含一个元素的数组的乘积是…题目给你一个整数数组 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){intmaxInteger.MIN_VALUE,imax1,imin1;for(inti0;inums.length;i){if(nums[i]0){inttmpimax;imaximin;imintmp;}imaxMath.max(imax*nums[i],nums[i]);iminMath.min(imin*nums[i],nums[i]);maxMath.max(max,imax);}returnmax;}}解析出自画解算法152. 乘积最大子序列classSolution{publicintmaxProduct(int[]nums){// 初始化全局最大乘积为最小整数值用于后续更新intmaxInteger.MIN_VALUE;// imax以当前元素结尾的子数组的最大乘积// imin以当前元素结尾的子数组的最小乘积用于处理负数intimax1,imin1;// 遍历数组中的每一个元素for(inti0;inums.length;i){// 如果当前数字是负数交换 imax 和 imin// 原因负数会使最大值变最小最小值变最大if(nums[i]0){inttmpimax;imaximin;imintmp;}// 更新以当前元素结尾的最大乘积// 要么延续之前的子数组imax * nums[i]要么从当前元素重新开始nums[i]imaxMath.max(imax*nums[i],nums[i]);// 更新以当前元素结尾的最小乘积同样考虑重新开始 or 延续iminMath.min(imin*nums[i],nums[i]);// 更新全局最大乘积记录历史最大值maxMath.max(max,imax);}// 返回整个数组中子数组的最大乘积returnmax;}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询