Print All Duplicates in an Array
Problem
Given an array of integers, print all elements that occur more than once.
Example:
Input: [10, 20, 20, 30, 30, 30, 40, 50, 50]
Output: 20 30 30 50
Code
import java.util.*;
public class PrintDuplicates {
public static void printDuplicates(int[] arr) {
Map<Integer, Integer> freq = new LinkedHashMap<>();
for (int num : arr) {
freq.put(num, freq.getOrDefault(num, 0) + 1);
}
for (Map.Entry<Integer, Integer> entry : freq.entrySet()) {
if (entry.getValue() > 1) {
for (int i = 0; i < entry.getValue() - 1; i++) {
System.out.print(entry.getKey() + " ");
}
}
}
}
public static void main(String[] args) {
printDuplicates(new int[]{10, 20, 20, 30, 30, 30, 40, 50, 50});
}
}from collections import Counter
def print_duplicates(arr):
freq = Counter(arr)
result = []
for num, count in freq.items():
if count > 1:
result.extend([num] * (count - 1))
print(*result)
print_duplicates([10, 20, 20, 30, 30, 30, 40, 50, 50])