Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΎ Π½Π°Π΄ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ Π±Π°ΠΉΡΡ Ρ ΠΌΠ°ΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΠΎΠΌ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ Π½Π°Ρ
ΠΎΠΆΡ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π²ΡΠ²ΠΎΠΆΡ Π΅Π³ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ (Π΄Π»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ).
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.stream.Collectors;
/*
Π‘Π°ΠΌΡΠ΅ ΡΠ°ΡΡΡΠ΅ Π±Π°ΠΉΡΡ
*/
public class Solution {
public static void main(String[] args) throws Exception {
findEquals();
}
public static void findEquals() throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream stream = new FileInputStream(reader.readLine());
List<Integer> list = new ArrayList<>();
while (stream.available() > 0) {
int data = stream.read();
list.add(data);
}
reader.close();
stream.close();
// method to find most frequent
Map<Integer, Long> elementFirstMap = list.stream().collect(Collectors.groupingBy(w -> w, Collectors.counting()));
// find most frequent by value
Long max = Collections.max(elementFirstMap.values());
int frequent = 0;
for (Map.Entry<Integer, Long> firstMap: elementFirstMap.entrySet()) {
if (firstMap.getValue().equals(max)) {
frequent = firstMap.getKey();
}
}
printValues(frequent, max);
}
private static void printValues(int value, Long counts) {
for (int i = 0; i < counts; i++) {
System.out.print(value + " ");
}
}
}