1
class Solution:
2
def platesBetweenCandles(self, s: str, queries: List[List[int]]) -> List[int]:
3
psum, next, prev = [0] * (len(s) + 1), [inf] * (len(s) + 1), [0] * (len(s) + 1)
4
res = []
5
for i, ch in enumerate(s):
6
psum[i + 1] = psum[i] + (ch == "|")
7
prev[i + 1] = i if ch == "|" else prev[i]
8
for i, ch in reversed(list(enumerate(s))):
9
next[i] = i if ch == "|" else next[i + 1]
10
for q in queries:
11
l, r = next[q[0]], prev[q[1] + 1]
12
res.append(r - l - (psum[r] - psum[l]) if l < r else 0)
13
return res

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0