(M)Dynamic Programming:152. Maximum Product Subarray
来源:互联网 发布:哪里有云计算的培训 编辑:程序博客网 时间:2024/05/21 20:07
乘法和加法不同,累加结果只要是正就一定递增,乘法可能上一个结果为负值,后面再出现(不需要相邻)另外一个负数相乘就会得到更大的乘积(负负为正)。所以我们这里需要维护三个变量,局部最大,局部最小,全局最大。这题里需要维护的当前最大值和当前最小值,都是在dp_min[i-1] * A[i],dp_max[i] * A[i],和A[i]这三者里面取一即可。
class Solution {public: int maxProduct(vector<int>& nums) { if(nums.empty() || nums.size() < 1) return 0; if(nums.size() < 2) return nums[0]; int global = nums[0]; int maxl = nums[0], minl = nums[0]; for(int i = 1; i < nums.size(); i++) { int a = maxl * nums[i]; int b = minl * nums[i]; maxl = max(nums[i], max(a, b)); minl = min(nums[i], min(a, b)); global = max(maxl, global); } return global; }};
阅读全文
0 0
- (M)Dynamic Programming:152. Maximum Product Subarray
- 152. Maximum Product Subarray dynamic programming
- week14- Dynamic Programming-NO.152. Maximum Product Subarray
- LeetCode[Dynamic Programming]: Maximum Product Subarray
- leetCode刷题归纳-Dynamic Programming(53. Maximum Subarray&& 152. Maximum Product Subarray)
- ※ Leetcode - Dynamic Programming - 53.Maximum Subarray(最大连续和)+152.Maximum Product Subarray(最大连续积)
- Dynamic Programming:53. Maximum Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- 152. Maximum Product Subarray
- mysql数据文件同步脚本
- zookeeper数据与存储
- C语言判断IPV4格式是否正确
- linux 静态库和共享库
- 数据分析人员的职业进阶线路
- (M)Dynamic Programming:152. Maximum Product Subarray
- 2.Hibernate框架之配置文件介绍
- 正则表达式匹配(.和*)
- Qt之开机自启动及拥有管理员权限
- ubuntu log4cxx安装和使用
- Docker 从阿里云pull/push 镜像
- 简易银行处理系统(源码)
- zookeeper 读写请求处理
- ubantu14.04下安装mysql