第一题 152. Maximum Product Subarray
算法
O(n)的复杂度,从后往前遍历整个数组,然后记录下当前的最大值和最小值
maxnow = Math.max(Math.max(maxpre * nums[i], minpre * nums[i]),nums[i]);
minow = Math.min(Math.min(minpre * nums[i], maxpre * nums[i]), nums[i]);
这一步可以更新当前最大最小值,如果为0的话,max和min都可以清除为0,非常关键的一步
|
|