152. Maximum Product Subarray
来源:互联网 发布:矩阵奇异值分解算法 编辑:程序博客网 时间:2024/06/15 14:06
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
.
Subscribe to see which companies asked this question.
这个问题如果该数组中有偶数个负数,没有0,那么就是全部数相乘最大。如果有奇数个负数,没有0,那么最大的子集可能是去掉最左边那个负数,或者最右边那个负数。也就是比较两种情况那个子集乘积大取哪个。
Forward*=nums[i]; Back*=nums[numsSize-1-i]; Larger=(Forward>Back)? Forward:Back; GlobalMax=(GlobalMax>Larger)?GlobalMax:Larger;
如果中间有0,那么重新计数。
if(Forward==0) Forward=1; if(Back==0) Back=1;完整程序:
int maxProduct(int* nums, int numsSize) { int Forward=1; int Back=1; int GlobalMax=nums[0]; int Larger=1; for(int i=0;i<numsSize;i++){ Forward*=nums[i]; Back*=nums[numsSize-1-i]; Larger=(Forward>Back)? Forward:Back; GlobalMax=(GlobalMax>Larger)?GlobalMax:Larger; if(Forward==0) Forward=1; if(Back==0) Back=1; }; return GlobalMax; }
0 0
- 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
- 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
- subline--基本使用
- 第六届蓝桥杯省赛C/C++B组 生命之树
- 3-3 编写expand(s1,s2)
- Dom 文档对象模型
- 工作小感悟
- 152. Maximum Product Subarray
- leetcode [Pascal's Triangle II]//待整理多种解法
- 网络丢包分析
- Filter过滤器
- poj 3041 Asteroids (二分匹配)
- 日元回流效应
- 二叉树题
- Bootchart分析Android6.0开机性能
- 【Android基础】动画