题目
Given an integer array nums
, find the contiguous subarray within an array (containing at least one number) which has the largest product.
示例1:
1 | Input: [2,3,-2,4] |
示例2:
1 | Input: [-2,0,-1] |
解法
解法一:
动态规划
从题目意思来看,它需要求出,连续的子序列的积。那么,假设d[i]为数组第i个数字时的最大乘积。那么它的最大值就是当前值(前一个值为0或者前一个值为负,当前值为正)或者它前一个最大值乘以当前值(前一个值和当前值都为正数)或者它前一个最小值乘以当前值(前一个值为负,当前值为负)
JAVA
1 | public int maxProduct(int[] nums) { |