Optimal Algorithmic Approach
HashMap + Min-heap of size k, or bucket sort for O(n).
Core Invariants & Edge Cases
- Count frequencies in a HashMap
- Use a min-heap of size k; evict least frequent
- Bucket sort alternative: O(n) using frequency as bucket index