Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/29: Рейтинг темы: голосов - 29, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 24.04.2018
Сообщений: 3

Найти самую длинную подпоследовательность полностью различных подряд идущих элементов массива

08.11.2018, 23:04. Показов 5973. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти самую длинную подпоследовательность полностью различных подряд идущих элементов массива.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2018, 23:04
Ответы с готовыми решениями:

Найти самую длинную последовательность подряд идущих элементов массива равных 0
Помогите пожалуйста с задачей Дан массив а размерности n. Найти самую длинную последовательность подряд идущих элементов массива равных...

Найти самую длинную строго возрастающую подпоследовательность целых чисел
Дана последовательность целых чисел. Необходимо найти ее самую длинную строго возрастающую подпоследовательность. Например...

Матрица складывается с нулей и единиц. Найти в ней самую длинную цепь подряд нулей
Матрица складывается с нулей и единиц. Найти в ней самую длинную цепь подряд нулей, что стоять, по горизонтали, вертикали либо диагонали.

6
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
09.11.2018, 19:50
и что конкретно не получилось? всё же просто.

Добавлено через 9 минут
берём хешсет пихаем последовательность объектов в хешсет и перед запихиванием в него объекта проверяем: а есть ли объект в хеш сете ? если нет то продолжаем пихать, если есть объект такой то размер хешсета сохраняем , в Хешмапу<Integer,Integer> и назовём ключ hashmap.put(1, hashset.size()) т.е. мы сохранили резуьтат, после хешсет обнуляем, начиаем пихать последовательность пока не наткнёмся на повтор сохраняем = вот те вторая последовательность ну и т.д... это к примеру
0
 Аватар для NiceJacket
109 / 89 / 25
Регистрация: 02.06.2018
Сообщений: 259
10.11.2018, 00:33
Предлагаю такой варик
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
public static void main(String[] args) {
        Set<Integer> hashSet = new LinkedHashSet<Integer>();
        Set<Integer> resultHashSet = new LinkedHashSet<Integer>();
        ArrayList<Integer> list = new ArrayList<Integer>();
 
        Random random = new Random();
        for (int i = 0; i < 20; i++) {
            list.add(random.nextInt(20));
        }
 
        System.out.println("Список чисел: ");
        System.out.println(list);
 
        for (int i = 0; i < list.size(); i++) {
            if (hashSet.contains(list.get(i))) {
                if (resultHashSet.size() < hashSet.size())
                    resultHashSet = new LinkedHashSet<Integer>(hashSet);
                hashSet.clear();
                hashSet.add(list.get(i));
            } else
                hashSet.add(list.get(i));
 
            if (i == list.size()-1) {
                hashSet.add(list.get(i));
                if (resultHashSet.size() < hashSet.size())
                    resultHashSet = new LinkedHashSet(hashSet);
            }
        }
 
        Iterator<Integer> resultIterator = resultHashSet.iterator();
        System.out.println("Самая длинная последовательность: ");
        while (resultIterator.hasNext()) {
            System.out.print(" [" + resultIterator.next() + "]");
        }
    }
0
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
14.11.2018, 11:11
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
/**
 * простые задачки для форума
 * вычислить самую длинную не повторяющуюся последовательность
 */
public class Repitength {
 
    public int sizemass(String stroka) {
        int position = 0;
        int maxPosition = 0;
        int size = 0;
        String temp = "";
        String[] mass = stroka.split("");
        for (String mas : mass) {
            if (!temp.contains(mas) || temp.length() < 1) {
                temp = temp + mas;
            } else {
                if (temp.length() > size) {
                    size = temp.length();
                    maxPosition = position + 1;
                }
                position = position + 1;
                temp = mas;
            }
        }
        //для первой и единственной к примеру если у нас идут 11111 и всё и больше ничего нет 
        if (maxPosition < 1) {
            maxPosition = 1;
            size = temp.length();
        }
        //для последней не повторяющейся последовательности
        if (size < temp.length()) {
            maxPosition = position + 1;
            size = temp.length();
        }
 
        System.out.printf("Самая длинная последовательность: %s , размер последовательности : %s", maxPosition, size);
        return maxPosition;
    }
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
import org.hamcrest.core.Is;
import org.junit.Assert;
import org.junit.Test;
 
public class RepitengthTest {
 
    @Test
    public void sizemass() {
        Repitength repitength = new Repitength();
        String stroka = "123554567123";
        Assert.assertThat(repitength.sizemass(stroka), Is.is(3));
    }
}
0
 Аватар для Aviz__
2743 / 2052 / 507
Регистрация: 17.02.2014
Сообщений: 9,472
14.11.2018, 11:14
Цитата Сообщение от TotalUSE Посмотреть сообщение
различных а я
не переживай, ты никого не подставил. по видимому, ТС-у все равно)).
0
75 / 61 / 29
Регистрация: 20.04.2015
Сообщений: 415
14.11.2018, 11:27
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
/**
 * простые задачки для форума
 * вычислить самую длинную не повторяющуюся последовательность
 */
public class Repitength {
 
    public int sizemass(int[] stroka) {
        int maxPosition = 0;
        int size = 0;
        int tempSize = 0;
        for (int i = 0; i < stroka.length - 1; i++) {
            if (stroka[i] != stroka[i + 1]) {
                tempSize = tempSize + 1;
            } else {
                if (size < tempSize) {
                    size = tempSize;
                tempSize = 0;
                maxPosition = maxPosition + 1;
                }
            }
 
        }
        if (size < tempSize) {
            size = tempSize;
            maxPosition = maxPosition + 1;
        }
        System.out.printf("Самая длинная последовательность: %s , размер последовательности : %s", maxPosition, size);
        return maxPosition;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.hamcrest.core.Is;
import org.junit.Assert;
import org.junit.Test;
 
public class RepitengthTest {
 
   
    @Test
    public void sizemass() {
        Repitength repitength = new Repitength();
        int[] ints = {1, 2, 3, 5, 5, 4, 5, 6, 7, 1, 2, 3};
        Assert.assertThat(repitength.sizemass(ints), Is.is(2));
    }
}
Добавлено через 25 секунд
Цитата Сообщение от Aviz__ Посмотреть сообщение
не переживай, ты никого не подставил. по видимому, ТС-у все равно)).
себя подставил я косяпора)))
0
 Аватар для Aviz__
2743 / 2052 / 507
Регистрация: 17.02.2014
Сообщений: 9,472
14.11.2018, 11:34
Цитата Сообщение от TotalUSE Посмотреть сообщение
себя подставил
да, лан, не в первой, поди...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2018, 11:34
Помогаю со студенческими работами здесь

Максимальное количество подряд идущих положительных элементов массива
* Дан линейный вещественный массив a1,a2,...,an. * Определить максимальное количество подряд идущих * положительных элементов...

Вывод количества повторений элементов массива, идущих подряд
Есть одномерный массив, например 4 4 4 2 3 1 1 4 0 0 мне надо вывести элемент а за ним число раз, сколько он встретился т.е должно быть 4-3...

В массиве найти наиболее длинную цепочку одинаковых подряд стоящих элементов
В целочисленном массив L(n) найти наиболее длинную цепочку одинаковых подряд стоящих элементов

Найти в строке S самую длинную последовательность подряд идущих одинаковых символов
Напишите программу, которая считывает с клавиатуры строку S и находит в строке S самую длинную последовательность подряд идущих одинаковых...

Найти наиболее длинную цепочку подряд идущих одинаковых элементов массива
В целочисленном массиве найти наиболее длинную цепочку подряд идущих одинаковых элементов.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
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, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru