最大乘积连续子序列
2018-02-27 21:48
736 查看
题目描述
输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列,如果这个最大乘积不是正数,则输出0。输入
第一行输入n(1<=n<=9)表示序列的长度,第二行输入n个整数表示序列的元素(-10<=元素<=10)以空格分隔,最后一个数字之后无空格)。输出
输出结果(结果之后无空格)。样例输入
32 4 -3样例输出
8分析:连续子序列有两个要素:起点和终点,因此只需要枚举起点和终点即可。#include<iostream>using namespace std;
int main()
{
int num[10];
int n,max,sum;
int i,j;
cin>>n;
for(i=0;i<n;i++)
cin>>num[i];
max=num[0]*num[1];
for(i=0;i<n-1;i++){
sum=num[i];
for(j=i+1;j<n;j++){
sum=sum*num[j];
max<=sum?max=sum:max;
}
}
if(max>=0)
cout<<max<<endl;
else
cout<<"0"<<endl;
return 0;
}
相关文章推荐
- 最大乘积连续子序列(数组)//枚举法的大好江山
- 连续序列 最大乘积解题报告
- 输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,应输出0(表示无解)。1<=18,-10<=Si<=10
- 算法题——最大(连续)子序列乘积
- 连续子序列的最大乘积
- 欧拉计划之题目8:找出这个1000位数字中连续5个数字乘积的最大值
- 乘积最大子序列
- LeetCode:152_Maximum Product Subarray | 最大乘积连续子数组 | Medium
- uva 1619 单调 求一段序列和 和 其中最小值的乘积的最大值
- (Java) LeetCode 152. Maximum Product Subarray —— 乘积最大子序列
- 欧拉工程第8题 找出这个1000位数字中连续13个数字乘积的最大值
- 两段不重叠连续序列的和的最大值
- 最大连续子序列乘积
- 连续最大子序列和与最小子序列和
- pku 2479 最大连续和的两序列 dp
- 连续序列分成m段,最大值最小化,二分经典
- 算法设计与分析——动态规划方法求解序列的连续最大子段
- 7_2 最大乘积(UVa11059)<枚举连续子序列>
- 乘积最大的连续子序列
- 数组连续子序列的最大的和-四种算法,四种时间复杂度