ITPub博客

首页 > IT职业 > IT职场 > 找出数组中的连续最大乘积

找出数组中的连续最大乘积

IT职场 作者:lakefront 时间:2021-09-09 10:04:45 0 删除 编辑

    给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。

示例 1:

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

输入: [-2,0,-1]
输出: 0
解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。
分析:
由于是连续序列,又是数组,所以,用循环可能最简单了,这里需要注意的是,不要忘记单个数组元素值。通过第一层循环去记录单个数组元素的值,而第二层则,考虑乘积的问题,和最大值判断的问题。

class Solution {    public int maxProduct(int[] nums) {        int fmax1, fmax2;        fmax2 = nums[0];            for(int i=0; i<=nums.length-1; i++){            fmax1 = nums[i];            for(int j=i; j<=nums.length-1; j++){                if(j > i){                    fmax1 *= nums[j];                }                if(fmax2 < fmax1){                    fmax2 = fmax1;                }            }        }         return fmax2;    }}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2491/viewspace-2815916/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-05

  • 博文量
    99
  • 访问量
    625