Daily challenge for 2026-01-08
373. Count Unique Element Frequencies
Given an array of integers arr, return an array where each element represents the frequency of that element in the input array. However, a frequency value should only be outputted the first time it is encountered during a linear scan of the array. If the frequency of the current element has already been outputted for a previous element, return 0 for that position.
Example 1:
Input: arr = [1, 2, 2, 3, 3, 3]
Counts: {1: 1, 2: 2, 3: 3}
Iteration:
- 1 (Freq 1): 1 not seen. Output 1. Seen={1}
- 2 (Freq 2): 2 not seen. Output 2. Seen={1, 2}
- 2 (Freq 2): 2 already seen. Output 0.
- 3 (Freq 3): 3 not seen. Output 3. Seen={1, 2, 3}
- 3 (Freq 3): 3 already seen. Output 0.
- 3 (Freq 3): 3 already seen. Output 0.
Output: [1, 2, 0, 3, 0, 0]
Example 2:
Input: arr = [10, 10, 20, 20]
Counts: {10: 2, 20: 2}
Iteration:
- 10 (Freq 2): 2 not seen. Output 2. Seen={2}
- 10 (Freq 2): 2 already seen. Output 0.
- 20 (Freq 2): 2 already seen. Output 0.
- 20 (Freq 2): 2 already seen. Output 0.
Output: [2, 0, 0, 0]