Добрый день, прикрепляю код с комментами, т.к. они не прикрепились. Прошу помощи 3 дня мучаюсь вроде работает но валидатор пишет "Не нужно несколько раз выводить один и тот же байт." Помогите пожалуйста
package com.javarush.task.task18.task1804;
/*
Самые редкие байты
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.Map.Entry;
import java.util.stream.Collectors;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
List<Integer> setInArr = new ArrayList<>();
List<Integer> unsort = new ArrayList<>();
Set<Integer> set = new HashSet<Integer>();
Map<Integer, Integer> map = new HashMap<>();
FileInputStream inputStream = new FileInputStream(reader.readLine());
int count=0;
while (inputStream.available() > 0) //заполняем сет (для сравнения)
{ //и unsort array это общий обьем для проверки
int data = inputStream.read();
set.add(data);
unsort.add(data);
}
Iterator<Integer> itr = set.iterator();//перемещаем сет в аррэй(setInArr) для удобства использования
while (itr.hasNext()) {
setInArr.add(itr.next());
}
for (int i=0;i<setInArr.size();i++){//собираем количество повторов в count и обьединяем с байтами
for (int b=0;b<setInArr.size();b++) {
if (setInArr.get(i).equals(unsort.get(b))){
count++;
}
}
map.put(setInArr.get(i), count);//обьединяем байты с повторами
}
Map<Integer, Integer> sortedMap = map.entrySet().stream()//сортируем мэп
.sorted(Entry.comparingByValue()) //(здесь и далее совсем невразумительный код)
.collect(Collectors.toMap(Entry::getKey, Entry::getValue,
(e1, e2) -> e1, LinkedHashMap::new));
int srav=0;//вывел переменнтую для сравнения
int i=0;
for (Entry entry : sortedMap.entrySet()) {//выводим (вот тут снизу совсем стыд)
for (;i<1;i++){
System.out.print("Key: "+entry.getKey()+" ");}
if (srav == ((int)entry.getValue())){
System.out.print("Key: "+entry.getKey()+" ");
}
srav= (int) entry.getValue();
}
inputStream.close(); // закрываем поток
}
}
package com.javarush.task.task18.task1804;
/*
Самые редкие байты
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.util.Map.Entry;
import java.util.stream.Collectors;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
List<Integer> setInArr = new ArrayList<>();
List<Integer> unsort = new ArrayList<>();
Set<Integer> set = new HashSet<Integer>();
Map<Integer, Integer> map = new HashMap<>();
FileInputStream inputStream = new FileInputStream(reader.readLine());
int count=0;
while (inputStream.available() > 0) //заполняем сет и аррэй ансорт
{
int data = inputStream.read();
set.add(data);
unsort.add(data);
}
Iterator<Integer> itr = set.iterator();//перемещаем сет в аррэй
while (itr.hasNext()) {
setInArr.add(itr.next());
}
for (int i=0;i<setInArr.size();i++){
for (int b=0;b<setInArr.size();b++) {
if (setInArr.get(i).equals(unsort.get(b))){
count++;
}
}
map.put(setInArr.get(i), count);
}
for (Entry entry : map.entrySet()) {
}
Map<Integer, Integer> sortedMap = map.entrySet().stream()
.sorted(Entry.comparingByValue())
.collect(Collectors.toMap(Entry::getKey, Entry::getValue,
(e1, e2) -> e1, LinkedHashMap::new));
int srav=0;int i=0;
for (Entry entry : sortedMap.entrySet()) {
for (;i<1;i++){
System.out.print("Key: "+entry.getKey()+" ");}
if (srav == ((int)entry.getValue())){
System.out.print("Key: "+entry.getKey()+" ");
}
srav= (int) entry.getValue();
}
inputStream.close(); // закрываем поток
}
}