Pagini recente » Cod sursa (job #127738) | Cod sursa (job #1841520) | Cod sursa (job #774041) | Cod sursa (job #1428058) | Cod sursa (job #2197316)
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new FileReader("elmaj.in"));
int n = scanner.nextInt();
int arr[] = new int[n];
for (int i=0; i<n; i++) {
arr[i] = scanner.nextInt();
}
PrintWriter printWriter = new PrintWriter("elmaj.out");
Entry majorityElement = getMajorityElement(arr);
if (majorityElement == null) {
printWriter.print(-1);
} else {
printWriter.printf("%d %d", majorityElement.element, majorityElement.count);
}
printWriter.close();
}
static class Entry {
int element;
int count;
}
static Entry getMajorityElement(int arr[]) {
Objects.requireNonNull(arr);
Entry maxEntry = new Entry();
Map<Integer,Integer> countMap = new HashMap<>();
for (int element : arr) {
int count = 1;
if (countMap.containsKey(element)) {
count = countMap.get(element) + 1;
}
countMap.put(element, count);
if (count > maxEntry.count) {
maxEntry.element = element;
maxEntry.count = count;
}
}
if (maxEntry.count >= arr.length/2+1) {
return maxEntry;
}
return null;
}
}