Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 17.12.2019
Сообщений: 16

Код на нахождение max длины последовательности не проходит все тесты

19.01.2020, 22:30. Показов 877. Ответов 5
Метки java (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане, здравствуйте.
Нужен ваш совет.

Условие задачи: Ввести n-ое кол-во строк не более 1_000 шт., каждая строка натуральное число не более 10_000. Если пользователь вводит 0, то ввод прекратить и последующие числа не учитывать. Найти длину самой большой монотонной последовательности, хоть по возрастанию, хоть по убыванию. [1345790] —3, [1387650] — 4. Ниже мой код. Не могу понять, почему некоторые тесты он проходит, а некоторые нет. Например, [321780] — 2, хотя должно быть 3.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
public class Main {
    public static void main(String[] args) throws IOException {
 
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 
        List<Integer> integers = new ArrayList<>();
        List<Integer> lengths = new ArrayList<>();
 
        while (true) {
            String sN = reader.readLine();
            int n = Integer.parseInt(sN);
            if (n >= 10000) {
                return;
            }
            integers.add(n);
            if (integers.size() >= 1000) {
                return;
            }
            if (n == 0) {
                break;
            }
        }
 
        int n = 1;
 
        for (int i = 1; i < integers.size(); i++) {
            if (integers.get(i).equals(integers.get(i - 1) + 1)) {
                n++;
                if (i == integers.get(integers.size() - 1)) {
                    lengths.add(n);
                }
            } else {
                lengths.add(n);
                n = 1;
            }
        }
 
        Collections.reverse(integers);
        n = 1;
 
        for (int i = 1; i < integers.size(); i++) {
            if (integers.get(i).equals(integers.get(i - 1) + 1)) {
                n++;
                if (i == integers.get(integers.size() - 1)) {
                    lengths.add(n);
                }
            } else {
                lengths.add(n);
                n = 1;
            }
        }
 
        lengths.sort((o1, o2) -> o2 - o1);
        System.out.println(lengths.get(0));
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2020, 22:30
Ответы с готовыми решениями:

Не проходит все тесты
#include &lt;iostream&gt; #include &lt;cmath&gt; int main() { long long m, n; std::cin &gt;&gt; m &gt;&gt; n; m %= 12; long long x = n...

Не проходит мой код тесты на сайте
Я выполняю задания на сайте. Написал код, который как по мне, хорошо выполняет свою функцию, но по какой то причине сайт не одабривает 6...

Числа Смита (Не проходит все тесты)
Число Смита — такое составное число, сумма цифр которого равняется сумме цифр всех его простых сомножителей. Так, примером числа Смита...

5
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
20.01.2020, 09:05
https://www.cyberforum.ru/java/thread2250765.html
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
20.01.2020, 09:06
Цитата Сообщение от GrossmasteR Посмотреть сообщение
каждая строка натуральное число не более 10_000
и
Цитата Сообщение от GrossmasteR Посмотреть сообщение
1345790
?!
Цитата Сообщение от GrossmasteR Посмотреть сообщение
321780
3-2-1 (раз
7-8-0 (два
0
0 / 0 / 0
Регистрация: 17.12.2019
Сообщений: 16
20.01.2020, 18:55  [ТС]
Прошу прощения: я неправильно объяснил.

В двух словах: Ты вводишь числа. До 1_000 штук. Признак конца ввода число ноль. Каждое число не больше 10_000. Найти длину самой большой монотонной последовательности, хоть по возрастанию, хоть по убыванию.
Как по мне, мой код должен работать. В тоже время, при некоторых тестах все хорошо, а, например, ввод 3,2,1,7,8,0 дает результат 2, хотя должно же быть 3 (3, 2, 1)
0
 Аватар для Aviz__
2741 / 2050 / 507
Регистрация: 17.02.2014
Сообщений: 9,470
20.01.2020, 19:02
опять
Цитата Сообщение от GrossmasteR Посмотреть сообщение
Каждое число не больше 10_000
и
Цитата Сообщение от GrossmasteR Посмотреть сообщение
ввод 3,2,1,7,8,0
каждое вместо 3?

Добавлено через 1 минуту
Цитата Сообщение от GrossmasteR Посмотреть сообщение
3,2,1,7,8,0
покажи, как тут 3?

Добавлено через 1 минуту
ясно, длина последовательности!
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
20.01.2020, 23:27
GrossmasteR, решение станет проще, если ты исходную последовательность чисел преобразуешь в последовательность дельт. Например:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
1.
[  1,  3,  4,  5,  7,  9,  0 ]
    [  2,  1,  1,  2,  2, -9 ]  --  deltas
     `--'`------'`------'`--'
       1     2       2     1 
max len = 2 + 1 = 3
 
2.
[  1,  3,  8,  7,  6,  5,  0 ]
    [  2,  5, -1, -1, -1, -5 ]  --  deltas
     `--'`--'`----------'`--'
       1   1       3       1
max len = 3 + 1 = 4
Не забудь, что последовательности с delta = 0 не должны учитываться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2020, 23:27
Помогаю со студенческими работами здесь

Задача «Телефонная книга» не проходит все тесты
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще несколько различных вариантов входных...

Задача преобразования XML не проходит все тесты
Задача не проходит все тесты. Примеры, указанные в условии отрабатывают, а потом тестировщик пробует еще несколько различных вариантов...

Задача «Телефонная книга» не проходит все тесты
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще несколько различных вариантов входных...

Задача форматирования таблицы не проходит все тесты
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще несколько различных вариантов входных...

Задача «Форматирование кода» не проходит все тесты
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще несколько различных вариантов входных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru