• ,

package com.javarush.task.task08.task0812;

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


Пробував 2 колекціями ArrayList, також не приймало. Вже 1 колекцією ArrayList зробив, все одно не приймає.

package com.javarush.task.task08.task0812;

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

/* 
Cамая длинная последовательность
*/
public class Solution {
    static int count = 0;

    public static void main(String[] args) throws IOException {
        final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        ArrayList<Integer> list = new ArrayList<>();
        int number = 1;
        for (int i = 0; i < 10; i++) {
            list.add(Integer.parseInt(reader.readLine()));
        }

        for (int i = 1; i < list.size(); i++) {
            if (list.get(i - 1) == list.get(i)) {
                count++;
                if (i == 9) {
                    count++;
                }
            } else {
                count++;
                if (count > number) {
                    number = count;
                }
                count = 0;
            }

            if (count > number) {
                number = count;
            }
        }
        System.out.println(number);
    }
}

3 комментария

ss-20
выкладывайте, пожалуйста, задание.
vasulko
Відредагував, але вже вчитався в умову. Map!=List. Тому і Map не підійшов, бо треба список, але як на мене інколи умови ставляться, щоб вирішувати завдання заплутаніше і важче.
SaLiK
Не принимает валидатор. Все тесты проходит
int count = 1;
int max = 1;
for (int i = 1; i < list.size(); i++) {
if (list.get(i — 1) == list.get(i)) {
if (i == list.size() — 1) {
max = count + 1;
break;
}
count++;
} else {
if (max < count) {
max = count;
}
count = 1;
}
}
System.out.println(max);
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.