O(n) 정해
class Solution:
def countSubarrays(self, nums: List[int], minK: int, maxK: int) -> int:
lastob = -1
lastm = lastM = -1
res = 0
for i in range(len(nums)):
if nums[i] < minK or maxK < nums[i]:
lastob = i
lastm = lastM = -1
continue
if nums[i] == minK:
lastm = i
if nums[i] == maxK:
lastM = i
res += max(0, min(lastm, lastM) - lastob)
return res
댓글 0