/
javapractice
/
JavaPractice
Обзор
Документация
Войти
/
javapractice
/
JavaPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
2
CI/CD
Аналитика
develop
Quiz/src/main/java/quiz/Ones.java
44 строки
1 KB
Zexa91x0
refactoring
25 апр 2021, 11:25
25 апр 2021, 11:25
63c8a42
Код
Авторство
О чём код?
package quiz; /* Требуется найти в бинарном векторе самую длинную последовательность единиц и вывести её длину. Желательно получить решение, работающее за линейное время и при этом проходящее по входному массиву только один раз. */ import java.io.BufferedReader; import java.io.FileReader; public class Ones { int getCount(int[] array) { int count = 0; int temp = 0; for (int i = 0; i <= array.length - 1; i++) { if (array[i] == 1) { temp++; count = Math.max(temp, count); } else { temp = 0; } } return count; } public static void main(String[] args) throws Exception { Ones ones = new Ones(); BufferedReader br = new BufferedReader(new FileReader("C:\\Skills\\_Repositories\\YandexTest\\src\\main\\Recources\\input.txt")); int length = Integer.parseInt(br.readLine()); int[] array = new int[length + 1]; for (int i = 1; i <= length; i++) { array[i] = Integer.parseInt(br.readLine()); } System.out.println(ones.getCount(array)); } }