package com.javarush.task.task08.task0812;
// 1. Создай список чисел;
// 2. Добавь в список 10 чисел с клавиатуры;
// 3. Вывести на экран длину самой длинной последовательности повторяющихся чисел в списке.
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<Integer> nums = new ArrayList<Integer>();
for (int i = 0; i < 10; ++i) {
nums.add(Integer.parseInt(reader.readLine()));
}
int count = 1,
maxCount = 1;
for (int i = 1; i < nums.size(); ++i) {
if (nums.get(i).equals(nums.get(i - 1))) {
count++;
} else if (nums.get(nums.size() - 1).equals(nums.get(nums.size() - 2))) {
count++;
if (maxCount < count) {
maxCount = count;
count = 1;
}
} else if (nums.get(i) != nums.get(i - 1)) {
if (maxCount < count) {
maxCount = count;
count = 1;
}
}
}
System.out.println(maxCount);
}
}Александр
22 уровень
Привет! Помогите разобраться с задачей, кажется, я совсем запутался:-(
Архивный
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Boris Ivanov
29 июня 2018, 09:02
валидатор принял это:
список как таковой для решения не нужен, потому наполнял его параллельно с вычислением самой длинной последовательности
0
Артем DivertittoSenior Android-разработчи в United TechMaster
27 июня 2018, 16:54решение
Очень усложнил.
Лучше пускай будет else, где ты смотри, если maxCount < count, то присвой максимальное значение, и обнули count. А так же в конце цикла добавить такую же проверку, потому что, если самая длинная последовательность в конце списка, то максимальное значение не присвоится, так как else не выполнится)
+1
Александр
2 июля 2018, 20:59
Divertitto, а можно попросить объяснить на пальцах в какой последовательности проходить проверки? Уже некоторое время мучаю эту задачу, и запутался полностью:(
0
Артем DivertittoSenior Android-разработчи в United TechMaster
3 июля 2018, 08:26
Но нужно дописать еще небольшую часть. Подсказка: если последний элемент списка не будет нарушать последовательность, то в else мы не попадем, и не присвоим новое значение к maxCount. По этому тебе нужно еще добавить один if)
0