Find the contiguous subarray within an array (containing at least one number) which has the largest product.

For example, given the array [2,3,-2,4],
the contiguous subarray [2,3] has the largest product = 6.

解题思路:

求连续子串和/积系列,最优的方法是只遍历一遍,实现o(n)的时间复杂度。

思考:

1、对于子序列中连续的正数,那么乘积也是不断的累积,如果遇到了负数,则最大乘积值暂时为前面正数的累积;

如果按照这个思路,只需要记录连续正数乘积最高,即为最大子序列积;那么这样就实现了o(n)的复杂度;

2、但是上面思路忽略了子序列中包含两个负数,负负得正,依然可以成就最大子序列积;

针对这种情况,在遍历的时候,不仅记录乘积最大值,还记录乘积最小值,乘积最小值

最新文章

  1. C# 给PDF添加图片背景
  2. FMS 4中multicast脚本的小修正
  3. 在ASP.NET 5中读取配置文件
  4. mysql 常用配置
  5. MFC中,如何自定义用户消息
  6. AD采样问题总结
  7. XACML-<Target> 元素的结构与相关的评估
  8. linux下配置tomcat7 + solr4.9(续)--- 多核索引的配置
  9. 邮件协议POP3/IMAP/SMTP服务的区别
  10. W5300E01-ARM 交叉编译器(Cross Compiler)用户手册
  11. 用extundelete恢复rm -rf删的文件
  12. 暑假OI规划
  13. objectmapper使用
  14. PAT A1153 Decode Registration Card of PAT (25 分)——多种情况排序
  15. NOI2018退役记
  16. http和https的作用与区别
  17. cxPivotGrid导出数据
  18. hdu 3030
  19. 1491. [NOI2007]社交网络【最短路计数】
  20. OpenGl学习 glenable()函数理解

热门文章

  1. 《大数据日知录》读书笔记-ch1数据分片与路由
  2. proxy的作用
  3. selenium+Python(鼠标和键盘事件)
  4. android actionbar viewpager 实现类微信主界面布局
  5. c++ 网络编程(二) linux 下多进程socket通信 多个客户端与单个服务端交互代码实现回声服务器
  6. Struts2页面配置和访问servlet API
  7. 分析apache日志,统计访问量
  8. Gradle 学习(一)
  9. 二:Redis数据类型
  10. 一:SpringMVC架构流程