Π Π΅Π±ΡΡ, ΠΏΡΠΈΠ²Π΅Ρ.
ΠΡΠ΅Π΄ΡΠ΄ΡΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΡΠΈΠ» Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΡΠ° ΠΆΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ, Π½ΠΎ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΡ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ. ΠΡΠΎ ΡΠΎ Π²ΠΈΠ΄ΠΈΡ ΠΏΡΠΈΡΠ΅Π½Ρ?
3ΠΈΠΉ ΠΏΡΠ½ΠΊΡ Π½Π΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ, Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
package com.javarush.task.task18.task1804;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
/*
Π‘Π°ΠΌΡΠ΅ ΡΠ°ΡΡΡΠ΅ Π±Π°ΠΉΡΡ
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String g = br.readLine();
FileInputStream fl = new FileInputStream(g);
Map<Byte, Integer> hashMap = new HashMap<Byte, Integer>();
br.close();
List <Byte> bytes = new ArrayList<Byte>();
while (true){/////////////////////////////////////////////////-ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° Π±Π°ΠΉΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ· Π² ΡΠΏΠΈΡΠΎΠΊ
if (fl.available()>0){
bytes.add((byte)fl.read());
}
else break;
}
fl.close();
////////////////////////////////////////////////////////////////////-ΠΊΠ°ΠΆΠ΄ΡΠΉ Π±Π°ΠΉΡ key ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ. ΠΡΠ»ΠΈ ΡΠ°Π²Π½Ρ,
byte key; //ΡΠΎ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· value.&& (hashMap.get(key)!=0)
int value;
// ΠΏΠΎΡΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΠΊΠ°ΡΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
for (int i=0; i<bytes.size()-1; i++){
key= bytes.get(i);
value= 0;
for (int j=i+1; j <bytes.size(); j++){
if(key == bytes.get(j)){
value +=1;
}
}
if (!hashMap.containsKey(key) ){
hashMap.put(key, value);}
}
///////////////////////////////////////////////////////////////////////////////////// - Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ GOOD
// ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ max
int min;
ArrayList <Byte> minibyte = new ArrayList<>();
Iterator<Map.Entry<Byte, Integer>> itr = hashMap.entrySet().iterator();
min= itr.next().getValue();
int k;
while (itr.hasNext()){
k=itr.next().getValue();
if(min >= k){
min= k;
}
}
//////////////////////////////////////////////////////////////////////////////- Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌ Key-ΠΈ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ GOOD
// ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ min ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΡ
Π² ΡΠΏΠΈΡΠΎΠΊ
for (Map.Entry<Byte, Integer> entry: hashMap.entrySet()){
if(entry.getValue().equals(min)){
minibyte.add( entry.getKey());
}
}
/////////////////////////////////////////////////////////////////////////////- Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ
for (byte a: minibyte){
System.out.print(a+" ");
}
//D:\huk.txt
}
}