с трудом дается задача, по разному пробовал, не получается ничего..
в чем косяк??
Направьте в моем коде на путь истинный. Заранее благодарю
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
List<Integer> list = new ArrayList<>();
Map <Integer, Integer> map = new HashMap<>();
Map <Integer, Integer> map2 = new HashMap<>();
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String fileName = r.readLine();
FileInputStream is = new FileInputStream(fileName);
while(is.available() > 0){
int data = is.read();
list.add(data);
}
int max = 0;
int count = 0;
for(int i = 0; i < list.size(); i++){
if((i + 1) < list.size() && list.get(i).equals(list.get(i + 1))) {
count++;
} //узнаем сколько число i имеет совпадений
if(count > max) { //если есть совпадения, то добавляем в map<число байтов, колличество повторений>
max = count;
map.put(list.get(i), max);
count = 0;
}
}
int maxValue = 0; //создаем счетчик переменную, чтобы выяснить максимальное число повторений
for(Map.Entry<Integer, Integer> entry: map.entrySet()) {
Integer key = entry.getKey();
Integer value = entry.getValue();
if(value > maxValue){
maxValue = value;
map2.put(key, value); //добавляем в map2 ключ и значение с максимальным повтором
}
}
for(Map.Entry<Integer, Integer> entry : map2.entrySet()){
Integer key2 = entry.getKey();
System.out.print(key2 + "");
}
is.close();
}
}