当前位置: 首页 > 后端技术 > Java

LeetCode-152-最大乘积子数组

时间:2023-04-02 02:00:26 Java

ProductMaximumSuArray题目描述:给定一个整数数组nums,请找出数组中乘积最大的连续子数组(子数组至少包含一个数),并返回对应的乘积这个子数组。例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:穷举法首先,如果数组nums只有一个元素,直接返回这个数。否则,穷举所有可能的连续子数组的乘积,然后取较大的,用result记录最大值,初始化为数组nums第一个元素的值,如下:从first元素,作为连续子数组的第一个元素;那么内层循环就是连续子数组的最后一个数组。在此过程中,需要判断当前连续子数组的乘积是否大于result,如果大于则更新result的值。最后返回的结果是最大的产品。publicclassLeetCode_152{/***穷举法**@paramnums原始数组*@return返回数组中最大的连续子数组的乘积*/publicstaticintmaxProduct(int[]nums){//如果arraynums只有一个元素,直接返回这个数if(nums.length==1){returnnums[0];}//result记录当前周期的最大值intresult=nums[0];//从数组的第一个nums开始遍历for(inti=0;i