Не проходит задача task08.task0812 (РЕШЕНО)

Добрый день. Помогите пожалуйста с задачей. В чём может быть проблема? Условие:
Cамая длинная последовательность
1. Создай список чисел.
2. Добавь в список 10 чисел с клавиатуры.
3. Вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.

Пример для списка 2, 4, 4, 4, 8, 8, 9, 12, 12, 14:
3

Искомое значение равно 3, т.к. самая длинная последовательность повторяющихся чисел состоит из трех четверок.

Требования:
1. Программа должна выводить число на экран.
2. Программа должна считывать значения с клавиатуры.
3. В методе main объяви переменную типа ArrayList с типом элементов Integer и сразу проинициализируй ee.
4. Программа должна добавлять в коллекцию 10 чисел, согласно условию.
5. Программа должна выводить на экран длину самой длинной последовательности

последнее условие не выполняется

package com.javarush.task.task08.task0812;

import java.io.*;
import java.util.*;

/* 
Cамая длинная последовательность
*/
public class Solution {
    public static void main(String[] args) throws IOException {
        //напишите тут ваш код

        BufferedReader bRead = new BufferedReader(new InputStreamReader(System.in));
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(Integer.parseInt(bRead.readLine()));
        }

        Map<Integer, Integer> map = new HashMap<>();

        for(Integer i : list){
            if(map.containsKey(i)){
                map.put(i, map.get(i)+1);
            } else {
                map.put(i, 1);
            }
        }

        System.out.println(Collections.max(map.values()));
    }
}

9 комментариев

exotika37
Тут создана Map, но она пустая. а вы ищете совпадения
lichMax
Почему!? Он же вроде кладёт в мапу значения.
exotika37
Она просто создана, но в ней нет никаких значений
if(map.containsKey(i)) а тут проверяется совпадение, его не будет т.к. Map пуста
lichMax
  • lichMax
  • 0
  • Комментарий отредактирован 2017-06-07 22:34:12 пользователем lichMax
Она просто создана, но в ней нет никаких значений
if(map.containsKey(i)) а тут проверяется совпадение, его не будет т.к. Map пуста

Да, но там есть else, и если записи не будет в мапе, то она туда попадёт.
lichMax
Посмотрел своё решение. Я там мэп не использую. Просто перебираю все числа из списка и считаю длины последовательностей (вообще-то там повторяющиеся числа идут подряд, поэтому их сразу можно считать, пока эта череда повторяющихся числе не кончится). Заодно сразу и вывожу максимальную длину среди последовательностей.
AlxB
Через map считаем кол-во одинаковых цифр, а просят последовательность.
Alvisid
по логике задачи:
1. решил не перебирать элементы списка и сравнивать с другими, если есть инструменты проще;
2. если в Мэпе есть ключ совпадающий с текущим значением из листа, то для этого ключа инкрементируем значение;
3. Если в Мэпе такого значения нет, то следовательно оно встретилось впервые и добавляем такой ключ со значением 1;
4. Далее извлекаем коллекцию значений (каждое значение — это количество вхождений соответствующего ключа в первоначальный список) и методом Collection.max(Collection collection) находим максимальное значение и выводим его на экран.
5. В условии сказано:
3. Вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.

Пример для списка 2, 4, 4, 4, 8, 8, 9, 12, 12, 14:
3

Искомое значение равно 3, т.к. самая длинная последовательность повторяющихся чисел состоит из трех четверок.

Не пойму это я ошибаюсь или валидатору конкретное решение не нравится.
AlxB
Вот последовательность:
1, 2, 2, 3, 3, 3, 2, 2, 1, 2
Сколько в мапе получилось?
А у меня 3.
Alvisid
Всё. Всем спасибо. Задача простая, неправильно понял условие.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.