1793. Maximum Score of a Good Subarray
Tags:
class Solution:
def maximumScore(self, nums: List[int], k: int) -> int:
res = nums[k]
l, r = k , k
currentMin = nums[k]
while l != 0 or r != len(nums) - 1:
left = 0 if l - 1 == -1 else nums[l-1]
right = 0 if r + 1 == len(nums) else nums[r+1]
if left > right:
currentMin = min(currentMin, left)
l -= 1
res = max(res, currentMin * (r - l + 1))
else:
currentMin = min(currentMin, right)
r += 1
res = max(res, currentMin * (r - l + 1))
return res