Skip to content

Commit 811b4df

Browse files
authored
Update maximum-score-of-a-good-subarray.py
1 parent 06ec51d commit 811b4df

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

Python/maximum-score-of-a-good-subarray.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,13 @@ def maximumScore(self, nums, k):
3434
:rtype: int
3535
"""
3636
def score(nums, k):
37-
left_prefix = [nums[k]]*(k+1)
37+
prefix = [nums[k]]*(k+1)
3838
for i in reversed(xrange(k)):
39-
left_prefix[i] = min(left_prefix[i+1], nums[i])
40-
right_prefix = [nums[k]]*(len(nums)-k)
41-
for i in xrange(k+1, len(nums)):
42-
right_prefix[i-k] = min(right_prefix[i-k-1], nums[i])
43-
result = nums[k]
44-
for j, right in enumerate(right_prefix, k):
45-
i = bisect.bisect_left(left_prefix, right)
39+
prefix[i] = min(prefix[i+1], nums[i])
40+
result = right = nums[k]
41+
for j in xrange(k+1, len(nums)):
42+
right = min(right, nums[j])
43+
i = bisect.bisect_left(prefix, right)
4644
if i >= 0:
4745
result = max(result, right*(j-i+1))
4846
return result

0 commit comments

Comments
 (0)