最大乘积连续子串

 
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
double func(double *a,const int n){
    double dp[2]={0},maxv = a[0];
    dp[0] = a[0];
    for(int i = 1; i < n; i ++ ){
        dp[i%2] = max(a[i],dp[(i-1)%2]*a[i]);
        maxv=max(maxv,dp[i%2]);
    }
    return maxv;
}
int main(){
    double a[]={-2.5,4,0,3,0.5,8,-1};
    cout<<func(a,7)<<endl;
    return 0;
}

  

原文地址:https://www.cnblogs.com/xiongqiangcs/p/3052333.html