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.

对于Product Subarray,要考虑到一种特殊情况,即负数和负数相乘:如果前面得到一个较小的负数,和后面一个较大的负数相乘,得到的反而是一个较大的数,如{2,-3,-7},所以,我们在处理乘法的时候,除了需要维护一个局部最大值,同时还要维护一个局部最小值,由此,可以写出如下的转移方程式:

max_copy[i] = max_local[i]
max_local[i + 1] = Max(Max(max_local[i] * A[i], A[i]),  min_local * A[i])

min_local[i + 1] = Min(Min(max_copy[i] * A[i], A[i]),  min_local * A[i])

</pre><pre>
class Solution {
public:int maxProduct(vector<int>& nums) {int n=nums.size();int pmax = nums[0];int pmin = nums[0];int ans = nums[0];for (int i = 1; i < n; i++) {int tmax = nums[i] * pmax;int tmin = nums[i] * pmin;pmax = max(nums[i], max(tmax, tmin));pmin = min(nums[i], min(tmax, tmin));ans = max(pmax, ans);}return ans;}
};

Maximum Product Subarray相关推荐

  1. 【LeetCode】Maximum Product Subarray 求连续子数组使其乘积最大

    Add Date 2014-09-23 Maximum Product Subarray Find the contiguous subarray within an array (containin ...

  2. LeetCode 152. Maximum Product Subarray

    152. Maximum Product Subarray Find the contiguous subarray within an array (containing at least one ...

  3. 【LeetCode】152. Maximum Product Subarray

    题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ...

  4. LeetCode Maximum Product Subarray(最大子数组乘积)

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

  5. 子数组的最大乘积 Maximum Product Subarray

    为什么80%的码农都做不了架构师?>>>    问题: Find the contiguous subarray within an array (containing at lea ...

  6. LeetCode: Maximum Product Subarray

    很久没练只能看别人代码了 1 class Solution { 2 public: 3 int maxProduct(int A[], int n) { 4 if (n == 0) return 0; ...

  7. leetcode 152. Maximum Product Subarray | 152. 乘积最大子数组(Java)

    题目 https://leetcode.com/problems/maximum-product-subarray/ 题解 class Solution {public int maxProduct( ...

  8. LeetCode Maximum Product Subarray 解题报告

    LeetCode 新题又更新了.求:最大子数组乘积. https://oj.leetcode.com/problems/maximum-product-subarray/ 题目分析:求一个数组,连续子 ...

  9. LeetCode 152. Maximum Product Subarray--动态规划--C++,Python解法

    题目地址:Maximum Product Subarray - LeetCode Given an integer array nums, find the contiguous subarray w ...

最新文章

  1. 软件质量与测试 第4周小组作业
  2. 独家 | 图解BiDAF中的单词嵌入、字符嵌入和上下文嵌入(附链接)
  3. Tomcat 7 安装成功,启动后显示空白页问题
  4. 服务器响应时延,服务器响应时延
  5. iOS-pushMeBaby经典错误解决
  6. bat贪吃蛇游戏代码_100行python代码,轻松完成贪吃蛇小游戏
  7. VTK:可视化之StructuredDataTypes
  8. JVM用户自定义加载器实现步骤
  9. Linux用户与“最小权限”原则
  10. pandas 提取某几列_【科学计算工具二】初识Pandas
  11. AssetManager asset的使用
  12. cmd指令大全指令_汇编语言常用指令大全
  13. 存储过程中调用EXECUTE IMMEDIATE的“权限不足”问题
  14. js递归性能影响及解决方案
  15. jieba分词怎么操作_常用分词工具使用教程
  16. 函数内联inline
  17. 2022年全国图书参考联盟读秀5.0/4.0/3.0/2.0/1.0书库网盘数据索引在线搜索查询系统搭建教程,可以实现ISBN/SS号/书封面链接/书名/作者/出版社…等信息一键搜索查询
  18. 企业基因决定企业命运
  19. IKAnalyzer如何自定义远端词库
  20. 图片链接直接打开显示正常,放在img标签里就加载不出来的解决方法

热门文章

  1. 找到一个不错的ASP.net电子图书下载网站
  2. 高通安卓调试LCD几方面总结
  3. 经典动态规划之过河卒【洛谷 P1002】
  4. Spring MVC之异常处理
  5. Sundown EK:漏洞利用工具中的抄袭大师
  6. Python学习笔记-DNS处理模块dnspython
  7. Openstack Tempest测试入门
  8. css3圆角360度转动画,target,框架集,css3过渡动画,css3圆角-阴影-透明度,运动曲线,图片文字遮罩,变形...
  9. 深度学习笔记6:Learning color features with Sparse Autoencoders
  10. MapReduce基础开发之四参数传递