Untitled
unknown
plain_text
2 years ago
631 B
5
Indexable
public int[] countDistinct(int[] arr, int k) { int ws = arr.length - k + 1; int[] ans = new int[ws]; HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < k; i++) { map.put(arr[i], map.getOrDefault(arr[i], 0) + 1); } ans[0] = map.size(); int j = 0; for (int i = k; i < arr.length; i++) { map.put(arr[i], map.getOrDefault(arr[i], 0) + 1); map.put(arr[j], map.getOrDefault(arr[j], 0) - 1); if (map.get(arr[j]) == 0) { map.remove(arr[j]); } j++; ans[i - k + 1] = map.size(); } return ans; }
Editor is loading...