freedom.9
Senior Member
Bài này quá medium
Code:
total= (totalSubArrays <= k) - (totalSubArrays <= k - 1)
Python:
class Solution:
def subarraysWithKDistinct(self, nums: List[int], k: int) -> int:
def slidingWindows(nums, k):
count = defaultdict(int)
left = 0
ans = 0
for right in range(len(nums)):
count[nums[right]] += 1
while len(count) > k:
count[nums[left]] -= 1
if count[nums[left]] == 0:
count.pop(nums[left])
left += 1
ans += right - left + 1
return ans
return slidingWindows(nums, k) - slidingWindows(nums, k - 1)