HTMLify
count-distinct-elements-in-every-window.py
Views: 11 | Author: prakhardoneria
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | class Solution: def countDistinct(self, arr, k): n = len(arr) res = [] freq_map = {} for i in range(k): freq_map[arr[i]] = freq_map.get(arr[i], 0) + 1 res.append(len(freq_map)) for i in range(k, n): out_elem = arr[i - k] freq_map[out_elem] -= 1 if freq_map[out_elem] == 0: del freq_map[out_elem] in_elem = arr[i] freq_map[in_elem] = freq_map.get(in_elem, 0) + 1 res.append(len(freq_map)) return res |