c_cpp 152.最大产品子阵列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 152.最大产品子阵列相关的知识,希望对你有一定的参考价值。

#include <algorithm>
using namespace std;

class Solution {
public:
    int maxProduct(vector<int>& nums) {
        int len = nums.size();
        int maxhere = nums.at(0);
        int minhere = nums.at(0); // Needed in case lowest number becomes largest 
                                  // from negative number multiplication
        int maxsofar = nums.at(0);
        
        for (int i = 1; i < len; ++i) {
            // If multiplying by negative, the min/max switch.
            if (nums.at(i) < 0)
                swap(maxhere, minhere);
            
            // Either the contiguous sum is better or the current value will
            // be used to restart contiguous check.
            maxhere = max(nums.at(i), maxhere*nums.at(i));
            minhere = min(nums.at(i), minhere*nums.at(i));
            
            // 
            maxsofar = max(maxhere, maxsofar);
        }
        
        return max(maxsofar, maxhere);
    }
};

以上是关于c_cpp 152.最大产品子阵列的主要内容,如果未能解决你的问题,请参考以下文章

java 152.最大产品子阵列(第1个).java

java 152.最大产品子阵列(第1个).java

java 152.最大产品子阵列(第1个).java

java 152.最大产品子阵列(第1个).java

java 152.最大产品子阵列(第1个).java

php 列出所有产品子类别,名称,URL和图像