0
点赞
收藏
分享

微信扫一扫

LeetCode题解(1852):Distinct Numbers in Each Subarray(Python)


题目:​​原题链接​​(中等)

标签:扫描线算法、哈希表、滑动窗口、数组

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

356ms (87.50%)

Ans 2 (Python)

Ans 3 (Python)

解法一:

class Solution:
def distinctNumbers(self, nums: List[int], k: int) -> List[int]:
ans = []
count = collections.Counter(nums[:k])
for i in range(len(nums) - k):
ans.append(len(count))
count[nums[i + k]] += 1
count[nums[i]] -= 1
if count[nums[i]] == 0:
count.pop(nums[i])
ans.append(len(count))
return


举报

相关推荐

0 条评论