Maximum Product Subarray LeetCode solution in Java
1class Solution {2public int maxProduct(int[] nums) {3int ans = Integer.MIN_VALUE;4int m = 1;5for (int i = 0; i < nums.length; i++) {6m *= nums[i];7ans = Math.max(m, ans);8if (m == 0) m = 1;9}10int n = 1;11for (int i = nums.length - 1; i >= 0; i--) {12n *= nums[i];13ans = Math.max(n, ans);14if (n == 0) n = 1;15}16return ans;17}18}