findElementsRepeatedExactlyKTimes<T> function
Returns a list of elements that appear exactly k times in the input list.
Implementation
List<T> findElementsRepeatedExactlyKTimes<T>(final List<T> list, final int k) {
if (k <= 0) {
throw ArgumentError('k must be greater than 0');
}
final Map<T, int> countMap = <T, int>{};
for (final T element in list) {
countMap[element] = (countMap[element] ?? 0) + 1;
}
return countMap.entries
.where((final MapEntry<T, int> entry) => entry.value == k)
.map((final MapEntry<T, int> entry) => entry.key)
.toList();
}