Files
LeetCode-Go/Algorithms/0152. Maximum Product Subarray/152. Maximum Product Subarray.go
2019-08-10 14:50:03 +08:00

15 lines
327 B
Go

package leetcode
func maxProduct(nums []int) int {
minimum, maximum, res := nums[0], nums[0], nums[0]
for i := 1; i < len(nums); i++ {
if nums[i] < 0 {
maximum, minimum = minimum, maximum
}
maximum = max(nums[i], maximum*nums[i])
minimum = min(nums[i], minimum*nums[i])
res = max(res, maximum)
}
return res
}