22 lines
606 B
Python
22 lines
606 B
Python
# https://leetcode.com/problems/continuous-subarrays
|
|
|
|
from typing import List
|
|
|
|
class Solution:
|
|
def continuousSubarrays(self, nums: List[int]) -> int:
|
|
memo = {}
|
|
left = 0
|
|
right = 0
|
|
result = 0
|
|
while right < len(nums):
|
|
memo[nums[right]] = memo.get(nums[right], 0) + 1
|
|
|
|
while max(memo) - min(memo) > 2:
|
|
memo[nums[left]] -= 1
|
|
if memo[nums[left]] == 0:
|
|
del memo[nums[left]]
|
|
left += 1
|
|
right += 1
|
|
result += right - left
|
|
return result
|
|
|