We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9ea331b commit a176505Copy full SHA for a176505
Python/maximum-subarray-min-product.py
@@ -0,0 +1,19 @@
1
+# Time: O(n)
2
+# Space: O(n)
3
+
4
+class Solution(object):
5
+ def maxSumMinProduct(self, nums):
6
+ """
7
+ :type nums: List[int]
8
+ :rtype: int
9
10
+ MOD = 10**9+7
11
+ prefix = [0]*(len(nums)+1)
12
+ for i in xrange(len(nums)):
13
+ prefix[i+1] = prefix[i]+nums[i]
14
+ stk, result = [-1], 0
15
+ for i in xrange(len(nums)+1):
16
+ while stk[-1] != -1 and (i == len(nums) or nums[stk[-1]] >= nums[i]):
17
+ result = max(result, nums[stk.pop()]*(prefix[(i-1)+1]-prefix[stk[-1]+1]))
18
+ stk.append(i)
19
+ return result%MOD
0 commit comments