Maximum Product Subarray - Array - Medium - LeetCode
💻 coding

Maximum Product Subarray - Array - Medium - LeetCode

1 min read 119 words
1 min read
ShareWhatsAppPost on X
  • 1The problem requires finding the contiguous subarray with the largest product from a given integer array.
  • 2The provided solution uses a single pass algorithm with O(n) time complexity and O(1) space complexity.
  • 3Examples illustrate that the largest product can occur with both positive and negative numbers in the array.

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem requires finding the contiguous subarray with the largest product from a given integer array."

Maximum Product Subarray - Array - Medium - LeetCode

Given an integer array nums, find the contiguous subarray within an array (containing at least one number) which has the largest product.

Example 1:

Input: [2,3,-2,4] Output: 6 Explanation: [2,3] has the largest product 6. Example 2:

Input: [-2,0,-1] Output: 0 Explanation: The result cannot be 2, because [-2,-1] is not a subarray.

public class Solution {
 public int MaxProduct(int[] nums) {
 if(nums.Length==0){
 return 0;
 }
 
 int max = nums[0];
 int min = nums[0];
 int result = nums[0];
 for(int i=1;i<nums.Length;i++){
 if(nums[i]<0){
 int temp = max;
 max = Math.Max(nums[i], min*nums[i]);
 min = Math.Min(nums[i], temp*nums[i]);
 }
 else{
 max = Math.Max(nums[i], max*nums[i]);
 min = Math.Min(nums[i], min*nums[i]);
 }
 
 result = Math.Max(result, max); 
 }
 
 return result;
 }
}

Time Complexity: O(n)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 17 November 2020 · 1 min read · 119 words

Part of AskGif Blog · coding

You might also like