Leetcode 1138 Solution
This article provides solution to leetcode question 1138 (grumpy-bookstore-owner)
Access this page by simply typing in "lcs 1138" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/grumpy-bookstore-owner
Solution
class Solution:
def maxSatisfied(self, customers: List[int], grumpy: List[int], X: int) -> int:
s = sum([
c for c, g in zip(customers[:X], grumpy[:X]) if g == 1
])
opt_s = s
l = 0
r = X - 1
while r < len(customers) - 1:
r += 1
if grumpy[r] == 1:
s += customers[r]
if grumpy[l] == 1:
s -= customers[l]
l += 1
opt_s = max(s, opt_s)
return opt_s + sum([
c for c, g in zip(customers, grumpy) if g == 0
])