152. Maximum Product Subarray
problem description
Given an integer array nums, find the contiguous subarray within an array (containing at least one number) which has the largest product.
Example 1:
Example 2:
algorithm thought
典型的动态规划问题,可以这么入手去思考状态转移,如果现在得到结果为res,新来一个数字,如果是正数,那么新的res变为res*newnum。但是如果来的是一个负数,就不好解决了,所以我们不仅要保存最大值(也就是结果),还要保存一个最小值,负数乘一个最小的负数也是有可能得到最大值的。
code
algorithm analysis
一次循环遍历数组,时间复杂度O(n)
Last updated