欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

连续最大子序列乘积

发布时间:2025/4/16 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 连续最大子序列乘积 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。
含有正负 
https://blog.csdn.net/u012469987/article/details/50897291
https://blog.csdn.net/coolwriter/article/details/79916458
 

#include <bits/stdc++.h> using namespace std; vector<int>::iterator it; class Solution{public:int maxProduct(vector<int>& nums){int n=nums.size();long long MAX=nums[0];long long dp_max=nums[0;long long dp_min=nums[0]; for(int i=1;i<n;++i){long long dpM = max( (long long )nums[i],max( dp_max * nums[i] , dp_min * nums[i]) );long long dpm = min( (long long )nums[i],min( dp_max * nums[i] , dp_min * nums[i]) ); dp_max=dpM; dp_min=dpm;MAX = max(MAX , dp_max);}return MAX;} }; int main(){Solution s;int n,a;vector<int>v;it=v.begin();while(cin>>n){v.clear();for(int i=0;i<n;++i){scanf("%d",&a);v.push_back(a);}cout<<s.maxProduct(v) << endl; }return 0; }

 

总结

以上是生活随笔为你收集整理的连续最大子序列乘积的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。