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

Наибольший палиндром

25.01.2020, 22:42. Показов 8922. Ответов 4

Студворк — интернет-сервис помощи студентам
В заданной строке найдите длину наибольшей подстроки (отрезка подряд идущих символов строки), которая является палиндромом, то есть одинаково читается слева направо и справа налево. Гарантируется, что заданная строка состоит только из строчных латинских букв.

Входные данные
В единственной строке входных данных записана заданная последовательность строчных латинских букв s (1≤|s|≤1000).

Выходные данные
Выведите одно целое положительное число — длину наибольшей подстроки-палиндрома.

Примеры
входные данные
a
выходные данные
1

входные данные
zrgttg
выходные данные
4

входные данные
abacaba
выходные данные
7
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2020, 22:42
Ответы с готовыми решениями:

Палиндром
Назовем натуральное число палиндромом, если в его десятичной записи все цифры расположены симметрично (совпадают первая и последняя...

Палиндром
Прошу помочь в решении задачи! Дано слово (все буквы строчные). Выведите: слово YES, если исходное слово является палиндромом (слово,...

Палиндром
Всем доброго времени суток! Пытаюсь написать программу, которая бы распечатывала введённые слова до первого встретившегося слова,...

4
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
26.01.2020, 08:50
Алгоритм Манакера и вперед
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 41
28.01.2020, 08:12  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
a,c,ma=input(),'',0
v=0
w=len(a)
for i in range(w):
        for j in range(w):
                c=''
                for k in range(i,j+1):
                        c+=a[k]
                if c==c[::-1]:
                        if len(c)>ma:
                                ma=len(c)
                                
 
print(ma)
Помогите, пожалуйста, я такой алгоритм написала, но он по времени не проходит.
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 41
29.01.2020, 18:22  [ТС]
Я не понимаю, как ускорите программу выше
0
0 / 0 / 0
Регистрация: 19.01.2020
Сообщений: 41
10.02.2020, 09:28  [ТС]
Python
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
def findPal(string):
    def findOdd(string):
        max=1
        for Middle in range(len(string)):
            leftBorder = Middle - 1
            rightBorder = Middle + 1
            while(leftBorder >= 0 and rightBorder<len(string) and string[leftBorder] == string[rightBorder]):
                new_str = string[leftBorder:rightBorder+1]
                if len(new_str) >max: max=len(new_str)
                leftBorder-=1
                rightBorder+=1
        return max
 
    def findEven(string):
        max=1
        for Middle in range(len(string)):
            leftBorder = Middle
            rightBorder = Middle + 1
            while(leftBorder >= 0 and rightBorder < len(string) and string[leftBorder] == string[rightBorder]):
                new_str = string[leftBorder:rightBorder+1]
                if len(new_str) >max: max=len(new_str)
                leftBorder-=1
                rightBorder+=1
        return max
 
    return max([findOdd(string), findEven(string)])
string=input()
print(findPal(string))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2020, 09:28
Помогаю со студенческими работами здесь

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

Палиндром
Суть задачи в том что бы проверить является ли число палиндромом, если да то вывести это число, если нет то вывести ближайшее число по...

Палиндром
&quot;Introduction to C++&quot;. Одна из задач дисциплины звучит следующим образом: нужно узнать, является ли шестизначное число палиндромом....

Словесный палиндром
Добрый день. Подскажите пожалуйста, почему закомментированный код не работает, а цикл while, который, как мне кажется, такой же, работает?...

Число-палиндром
Напишите программу, которая составляет из цифр введённой строки число-палиндром максимальной длины (которое читается одинаково слева...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru