最大连续子序列乘积
2017-08-18 09:36
302 查看
不多说,可用动态规划解,找准转移方程,有两个,最后选一个作为最大值; 此处针对int型数据,对于浮点型,自己再做改动;
#include <iostream> #include <string.h> using namespace std; int maxn[2020]; int minn[2020]; int a[2020]; int min(int a,int b,int c) { int minn; minn=a<b?a:b; minn=minn<c?minn:c; return minn; } int max(int a,int b,int c) { int maxn; maxn=a>b?a:b; maxn=maxn>c?maxn:c; return maxn; } int main () { int n,big=-9999; cin>>n; memset(a,0,sizeof(a)); memset(minn,0,sizeof(minn)); memset(maxn,0,sizeof(maxn)); for (int i=0;i<n;i++) cin>>a[i]; minn[0]=maxn[0]=a[0];//i==0,min与max为其本身 for (int i=1;i<n;i++) { minn[i]=min(a[i],minn[i-1]*a[i],maxn[i-1]*a[i]);// 方程1 maxn[i]=max(a[i],minn[i-1]*a[i],maxn[i-1]*a[i]);//方程2 if (maxn[i]>big) big=maxn[i]; } cout<<big<<endl; return 0; }
相关文章推荐
- 最大连续子序列和,乘积,最长递增子串,最长公共子串,子序列等问题(动态规划等)
- 最大连续子序列乘积
- 乘积最大的连续子序列
- 题目1501:最大连续子序列乘积
- 最大连续子序列乘积
- 最大连续子序列和/乘积
- 最大连续子序列之和,最大连续子序列乘积
- 最大连续子序列乘积
- 小米2013校园招聘笔试题-最大连续子序列乘积
- 最大连续子序列乘积_1501
- 九度OJ 1501 最大连续子序列乘积 -- 动态规划
- 九度OJ 1501 最大连续子序列乘积 -- 动态规划
- 最大连续子序列和/乘积
- 动态规划:最大连续子序列乘积 分类: c/c++ 算法 2014-09-30 17:03 656人阅读 评论(0) 收藏
- 题目1501:最大连续子序列乘积
- 动态规划:最大连续子序列乘积
- 最大连续子序列乘积(DP)
- 利用C语言来求最大连续子序列乘积的方法
- 最大连续子序列乘积
- 最大连续子序列乘积