Leetcode 152-乘积最大子数组

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

题解(动态规划)

题解转载自Leetcode

class Solution {
    public int maxProduct(int[] nums) {
        int maxF = nums[0], minF = nums[0], ans = nums[0];
        int length = nums.length;
        for (int i = 1; i < length; ++i) {
            int mx = maxF, mn = minF;
            maxF = Math.max(mx * nums[i], Math.max(nums[i], mn * nums[i]));
            minF = Math.min(mn * nums[i], Math.min(nums[i], mx * nums[i]));
            ans = Math.max(maxF, ans);
        }
        return ans;
    }
}

Leetcode 152-乘积最大子数组

上一篇:【COCOS CREATOR 系列教程之二】脚本开发篇&事件监听、常用函数等示例整合


下一篇:MySQl查询各科成绩前三名