![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Nike0 |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
Доброго времени суток. Появился вопрос: создаю 2 линейных односвязных списка списка, нужно найти максимальную последовательность элементов первого списка во втором. Например: если первый список у нас -12 -3 2 6 9 14, а второй -4 0 2 6 10, то максимальной последовательностью будет являться 2 6. Также в условии сказано, чтобы список был неубывающим, но это пока не реализовал. И еще: если ввести список 1 2 3 4 5, то выводит с конца, т.е. 5 4 3 2 1. Там в конце есть жалкая попытка
![]() #include <iostream.h> тут у меня процедура для формирования списка make_list, вот её-то и нужно использовать, но я не знаю как правильно, т.к. я не знаю точного количества элементов одинаковых. Сообщение отредактировано: Nike0 - 27.12.2010 12:36 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата И еще: если ввести список 1 2 3 4 5, то выводит с конца, т.е. 5 4 3 2 1. Как создаешь - так и выводит. Создавай правильно:point *make_list1(int n), будет правильно выводить... По поводу решения задачи - это LCS (largest common sequence, не subsequence)... Если решать "в лоб", полным перебором - то вот так: int max = 1, count;Идея понятна? |
Nike0 |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 61 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 16:06 |