Array:求子數組最大乘積

For example, given the array [2,3,-2,4],the contiguous subarray [2,3] has the largest product = 6.

public int maxProduct(int[] nums) {
        if (nums == null || nums.length ==0) {
            return -1;
        }
        int max = nums[0],min = nums[0],result = nums[0];
        for (int i = 1; i < nums.length; i++) {
            int temp = max;
            max = Math.max(Math.max(max*nums[i], min*nums[i]), nums[i]);
            min = Math.min(Math.min(temp*nums[i], min*nums[i]), nums[i]);
            result = Math.max(max, result);
        }
        return result;
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容