2055. Plates Between Candles (Medium) - TengnanYao/daily_leetcode GitHub Wiki
class Solution:
def platesBetweenCandles(self, s: str, queries: List[List[int]]) -> List[int]:
arr = []
for i, c in enumerate(s):
if c == "|":
arr.append(i)
result = []
for l, r in queries:
i = bisect_left(arr, l)
j = bisect_right(arr, r)
if j == 0 or i == len(arr):
result.append(0)
else:
result.append(max(0, arr[j - 1] - arr[i] - (j - 1 - i)))
return result