最大连续子序列相乘
2014-03-09 22:28
253 查看
最近忙实习 也没什么时间 些代码,看到一个 求最大连续子序列相乘的觉得挺有意思的,所以记录下
题目大意: 有一连续子序列 , 要你求出期间子序列相乘出现的最大值
解法: 简单,主要是因为有正有负 所以每次都要去记录 最大和最小 ,因为最小的可能绝对值最大 ,再乘一个数就会变成最大
源代码:
题目大意: 有一连续子序列 , 要你求出期间子序列相乘出现的最大值
解法: 简单,主要是因为有正有负 所以每次都要去记录 最大和最小 ,因为最小的可能绝对值最大 ,再乘一个数就会变成最大
源代码:
#include<iostream> #include<cstdio> using namespace std; #define min(a, b) (a <b ? a:b) #define max(a, b) (a > b? a: b) int main() { int n, i; double ans , maxx, minn, d; double tmp1,tmp2; while(cin>>n) { cin>>d; ans =maxx=minn=d; for(i = 1 ; i < n;i++) { cin>>d; tmp1=maxx*d; tmp2=minn*d; //这里记录最大最小是因为有正有负 maxx = max(max(tmp1, tmp2),d); minn= min(min(tmp1, tmp2), d); if(ans < maxx) {//记录其间出现的最大值 ans =maxx; } } int t =(int) ans; if(ans < 0) { cout<<-1<<endl; } else if(t== ans) { cout<<t<<endl; } else { printf("%.2f", ans); } } return 0; } //测试用例 7 // -2.5 4 0 3 0.5 8 -1 // 12
相关文章推荐
- hdu 1231 dp 最大连续子序列
- 求连续子序列的最大和
- hdu 1003 最大连续子序列和
- HDU 1231 最大连续子序列
- 【最大连续子序列和dp】hdu 1003 Max Sum
- 最大连续子序列-最基础的DP
- 分治法求数组最大连续子序列的和
- HDU 1231 最大连续子序列
- 题目1011:最大连续子序列
- 最大连续子序列 HDU - 1003
- 最大连续子序列和
- 连续子序列最大和问题精讲(java实现)
- 最大连续子序列乘积
- 归纳法求解最大连续子序列
- nyoj 44 子串和(最大连续子序列和)
- 题目1011:最大连续子序列
- hdu 1231 最大连续子序列
- 动态规划:最大连续子序列乘积 分类: c/c++ 算法 2014-09-30 17:03 656人阅读 评论(0) 收藏
- HDU1231最大连续子序列(dp)
- 最大连续子序列