求连乘最大
来源:互联网 发布:淘宝内衣模特摄影 编辑:程序博客网 时间:2024/05/22 03:11
腾讯面试题,当时没解决,现在想想,好水,不敲题半年,不知不觉ACM快散功了,现在得捡起来了~
n个数,求出最大连乘
eg:
5
-8 -2 100 -0.5 100
最大连乘为 -2*100*(-0.5)*100=10000
dp 维护正的最大,负的最小
#include <cstdlib>#include <cmath>#include<iostream>#include<cstdio>#include<iostream>using namespace std;#define maxn 100000double a[maxn];double dp1[maxn];double dp2[maxn];int n;int main(){ while(~scanf("%d",&n)) { double maxx; for(int i=0;i<n;i++) scanf("%lf",&a[i]),dp1[i]=dp2[i]=0; maxx=a[0]; for(int i=0;i<n;i++) { maxx=max(maxx,a[i]); if(a[i]>0) dp1[i]=a[i]; if(a[i]<0) dp2[i]=a[i]; } for(int i=1;i<n;i++) { dp1[i]=max(max(dp1[i-1]*a[i],dp2[i-1]*a[i]),dp1[i]); dp2[i]=min(min(dp2[i-1]*a[i],dp1[i-1]*a[i]),dp2[i]); } for(int i=0;i<n;i++) maxx=max(maxx,dp1[i]); printf("%.2f\n",maxx); } return 0;}
1 0
- 求连乘最大
- 最大
- 最大
- 最大
- 最大
- 最大
- 最大流-最大利益
- 最大,最小
- 最大流
- 最大似然法
- 最大流
- 道理最大
- 最大乘积
- 最大素数
- 最大长方形
- 最大行
- 乘积最大
- 乘积最大
- Linux字符设备驱动实验
- Oracle-30-常用系统权限&查看当前用户权限&为用户授予创建视图的权利
- A look inside blocks: Episode 1
- algrothm_逆序输出,回文(找中点+换位置)
- mysqldump备份疑惑详解
- 求连乘最大
- XP下常用的或有用的小工具
- LeetCode 78, 90. Subsets i, ii
- object类的9个方法
- algrothm_逆序输出【堆栈】
- 使用Log4j.jar写日志到文件
- Linux 开发工具 ---gcc makefile gdb
- SQL Server2008创建约束图解 唯一性约束
- 文字记录,对话吴恩达(Andrew Ng):超级大咖深度解析人工智能的发展现状与未来