LeetCode | 152. Maximum Product Subarray
題目:
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.
程式碼:
class Solution {
public:
int maxProduct(vector<int>& nums) {
if (nums.size() < 1)
return 0;
int maxValue, maxP, minP;
maxValue = maxP = minP = nums[0];
for (int i = 1; i < nums.size(); i++)
{
if (nums[i] < 0)
swap(maxP, minP);
maxP = max(nums[i], nums[i] * maxP);
minP = min(nums[i], nums[i] * minP);
maxValue = max(maxValue, maxP);
}
return maxValue;
}
};
相關文章
- Leetcode Maximum Product SubarrayLeetCode
- Leetcode-Maximum Product SubarrayLeetCode
- [leetCode][001] Maximum Product SubarrayLeetCode
- Leetcode Maximum SubarrayLeetCode
- 【Lintcode】191. Maximum Product Subarray
- Leetcode-Maximum SubarrayLeetCode
- Maximum Subarray leetcode javaLeetCodeJava
- [LeetCode] Maximum Product Subarray 求連續子陣列的最大乘積LeetCode陣列
- LeetCode-Maximum Product of Word LengthsLeetCode
- LeetCode-Maximum Size Subarray Sum Equals kLeetCode
- [LeetCode] 2419. Longest Subarray With Maximum Bitwise ANDLeetCode
- leetCode(Using C)——718. Maximum Length of Repeated SubarrayLeetCode
- 【leetcode】53. Maximum Subarray 連續子序列的最大和LeetCode
- LintCode-Maximum Subarray II
- LintCode-Maximum Subarray III
- LintCode-Maximum Subarray Difference
- 最大子陣列問題(Maximum subarray problem)陣列
- Maximum Subarray 連續子陣列最大和陣列
- 53_Maximum Subarray-最大子陣列陣列
- LeetCode C++ 1464. Maximum Product of Two Elements in an Array【Array/Sort】簡單LeetCodeC++
- 跟我一起刷leetCode演算法題11之 Maximum Product of Three NumbersLeetCode演算法
- 【Leetcode】152.乘積最大子陣列LeetCode陣列
- [LeetCode] Minimum Size Subarray SumLeetCode
- [LeetCode] Third Maximum NumberLeetCode
- LeetCode-Maximum GapLeetCode
- LeetCode:Product of Array Except SelfLeetCode
- [LeetCode] 560. Subarray Sum Equals KLeetCode
- LeetCode: 560. Subarray Sum Equals KLeetCode
- LeetCode-Minimum Size Subarray SumLeetCode
- LeetCode-Create Maximum NumberLeetCode
- [LeetCode] 523. Continuous Subarray SumLeetCode
- [LeetCode] 2831. Find the Longest Equal SubarrayLeetCode
- Leetcode Maximum Depth of Binary TreeLeetCode
- [leetcode]maximum-depth-of-binary-treeLeetCode
- Leetcode[421] Maximum XOR of Two Numbers in an ArrayLeetCode
- LeetCode-Sliding Window MaximumLeetCode
- Leetcode Binary Tree Maximum Path SumLeetCode
- Leetcode-Maximum Depth of Binary TreeLeetCode