152. Maximum Product Subarray
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.

题目大意:给一个整型数组,求该数组中所有连续子数组的元素乘积的最大值~
分析:需要保存临时最大值和最小值,因为最大值乘以一个正数可能构成新的最大值,而最小值乘以负数也可能构成新的最大值。
result是要求的结果,maxValue为nums[i]之前的,和nums[i]相邻的乘积的最大值,minValue为nums[i]之前的,和nums[i]相邻的乘积的最小值。
首先令result、maxValue和minValue都为nums[0], i从nums[1]开始一直到结束,tempMax为考虑是否选择之前的maxValue与nums[i]相乘,如果相乘结果更大就保留,否则就选择nums[i]本身为最大。tempMin同理~
然后maxValue和minValue比较tempMax/tempMin与minValue * nums[i]的大小关系,maxValue取较大值,minValue取较小值~
而result是取所有maxValue中的最大值~最后返回result~

class Solution {
public:int maxProduct(vector<int>& nums) {if (nums.size() == 0) return 0;int result = nums[0], maxValue = nums[0], minValue = nums[0];for (int i = 1; i < nums.size(); i++) {int tempMax = max(nums[i], maxValue * nums[i]);int tempMin = min(nums[i], maxValue * nums[i]);maxValue = max(tempMax, minValue * nums[i]);minValue = min(tempMin, minValue * nums[i]);result = max(maxValue, result);}return result;}
};

LeetCode 152. Maximum Product Subarray相关推荐

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

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

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

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

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

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

  4. 【LeetCode】152. Maximum Product Subarray

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

  5. leetcode 152. Maximum Product Subarry

    这道题求的是乘积的最大值的,那么依照之前的和的最大值类似的做法的,乘积的最大值可能是在最大值*当前值和最小值*当前值和当前值三者之间取得的最大值的,那么使用两个变量来保存每一步的最大最小值的. cla ...

  6. Maximum Product Subarray

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

  7. LeetCode 628. Maximum Product of Three Numbers

    题目: Given an integer array, find three numbers whose product is maximum and output the maximum produ ...

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

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

  9. LeetCode Maximum Product Subarray 解题报告

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

最新文章

  1. idea servlet自动配置web.xml_Spring Boot学习04_嵌入式Servlet容器自动配置原理
  2. dama数据管理知识体系指南_DAMA知识体系解读(6)数据操作管理
  3. 读取excel内容转为二维list
  4. java重排序_Java内存模型FAQ(四)重排序意味着什么?
  5. php数值操作,php数值计算num类简单操作示例
  6. Java 中 modifer #39;public#39; is reduntant for interface methods
  7. 在linux下搭建git环境,在linux下搭建git github开发环境
  8. 【写作技巧】如何写开题报告?
  9. 测试工程师值得被尊重!是否有此共鸣!
  10. Spring 面试 7 大问题,你顶得住不?
  11. min-width_min-height_max-width_max-height 设置元素最小或最大长度
  12. 海康摄像头直连电脑修改IP解决播放失败无画面无法连接问题
  13. 打造家庭影音网络:Gen8魔改ITX实现Esxi虚拟NAS+Openwrt+Win10
  14. python的编码 encode
  15. GitLab 服务搭建
  16. RulersGuides.js – 网站中实现 Photoshop 标尺效果
  17. unity粗体字+android,[Unity] UGUI加粗字体小记
  18. 计算机技术水平考核试卷带答案,中小学教师计算机技术水平考核试卷笔试题带答案...
  19. 构造方法的作用,为什么要写构造方法?
  20. 视频教程-微信小程序电商实战-PHP

热门文章

  1. SQL2005中row_number( )、rank( )、dense_rank( )、ntile( )函数的用法(1)
  2. 分布式系统最终一致性
  3. Windows XP客户端加域操作手册下
  4. replace()替换文字
  5. POJ 1384 Piggy-Bank 背包DP
  6. 巧用PHP双$功能兼容线上线下配置文件
  7. 【转】两个算法题,感觉挺有意思
  8. 速修复!这个严重的 Apache Struts RCE 漏洞补丁不完整
  9. Stringlifier:Adobe 开源日志清理和凭据暴露检测工具
  10. 谈谈lucene的DocValues特性之SortedNumericDocValuesField