152. [M] Maximum Product Subarray
https://leetcode.com/problems/maximum-product-subarray/
暴力算法
使用一个数组r保存中间结果,长度len从1到n,r[i] 从位置i开始的长度为len的子数组的乘积。
class Solution {
public int maxProduct(int[] nums) {
int[] r = new int[nums.length];
int ans = nums[0];
for (int i = 0; i < r.length; i++) r[i] = 1;
for (int len = 0; len < nums.length; len++) {
for (int i = 0; i < nums.length - len; i++) {
r[i] *= nums[i+len];
if (r[i] > ans) {
ans = r[i];
}
}
}
return ans;
}
}最后更新于
这有帮助吗?