LeetCode 152. Maximum Product Subarray

原题目:https://leetcode-cn.com/problems/maximum-product-subarray/

 

思路:

同时维护两个变量(最大和最小)因为如果是负数,会导致这两个值进行互换

maxn = max(maxn*nums[i], nums[i]);

minn = min(minn*nums[i],nums[i]);

如果nums[i]是负数,那么先将maxn和minn进行交换在进行下一步的交换。

 

代码:

class Solution {
public:
    int maxProduct(vector& nums) {
        int maxn=1,minn=1;
        int ans=nums[0];
        for(int i=0;i

 

你可能感兴趣的:(LeetCode,逻辑推理)