leetcode_Maximum Product Subarray
来源:互联网 发布:mysql停用索引 编辑:程序博客网 时间:2024/06/05 20:34
描述:
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.
思路:
1.一种思路是将数组分为被数字0分割的子数组,然后统计负数出现的次数,如果 是偶数,直接取子数组的乘积,如果是奇数,取去掉前面第一个奇数出现之前的 部分或去掉最后一个奇数及其后面数组部分后剩余部分的乘积即可,然后取maxProduct为字数组乘积最大的一段。程序的控制流程很麻烦。
2.每次取部分数组乘积的最大值或最小值,然后跟num[i]做乘法运算,再取最大值或最小值即可,取最大值理所当然,取最小值是因为最小值的绝对值 可能大于最大值,碰到负数就变最大值了。
代码:
public int maxProduct(int[] nums){if (nums == null || nums.length == 0)return 0;int maxProduct=nums[0];int minProduct=nums[0];int maxSofar=nums[0];int tempMaxProduct,tempMinProduct;int numMax,numMin;for(int i=1;i<nums.length;i++){numMax=maxProduct*nums[i];numMin=minProduct*nums[i];tempMaxProduct=Math.max(Math.max(numMax,numMin ), nums[i]);tempMinProduct=Math.min(Math.min(numMax, numMin), nums[i]);maxSofar=Math.max(tempMaxProduct, maxSofar);maxProduct=tempMaxProduct;minProduct=tempMinProduct;}return maxSofar;}
0 0
- leetcode_Maximum Product Subarray
- leetcode_Maximum Product Subarray
- leetcode_Maximum Product Subarray
- leetCode_Maximum Product Subarray
- LeetCode_Maximum Subarray | Maximum Product Subarray
- Leetcode_Maximum Product Subarray(c++ version)
- Leetcode_maximum-subarray
- Leetcode_Maximum Subarray
- leetcode_Maximum Product Subarray _medium(最大子数组之积)
- leetcode_Maximum Subarray _medium(最大子数组的和)
- Maximum Product Subarray
- Maximum Product Subarray
- Maximum Product Subarray 【LeetCode】
- [LeetCode] Maximum Product Subarray
- leetcode-Maximum Product Subarray
- Maximum Product Subarray -- LeetCode
- LeetCode-Maximum Product Subarray
- [LeetCode]Maximum Product Subarray
- android service绑定
- 新的旅程 出发!
- B. Amr and The Large Array(Codeforces Round #312 (Div. 2)+找出现次数最多且区间最小)
- MonkeyTalk Java API 使用教程
- 'register_android_system_OsConstants(_JNIEnv*)'解决方案
- leetcode_Maximum Product Subarray
- 面试题6
- 本田CRV被曝轮胎速度级别等同3万元小面包车
- 怎样为孩子30年后做打算。
- codevs1295 N皇后问题 解题报告
- spring4.0整合mongodb3.0.4项目实践(用户验证)
- C. Amr and Chemistry(Codeforces Round #312 (Div. 2) 二进制+暴力)
- 生活
- 【NoSql】Redis实践篇-简单demo实现(一)