0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 21

В строке найти самую длинную подстроку

19.03.2019, 20:46. Показов 28000. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С клавиатуры водится строка,найти самую длинную подстроку, которая повторяется больше одного раза в данной строке, найти сколько раз она повторяется
Например abcdabc должен вывести 2, так как abc повторяется 2 раза
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2019, 20:46
Ответы с готовыми решениями:

Найти самую длинную неповторяющуюся подстроку
Напишите функцию, которая возвращает самую длинную неповторяющуюся подстроку для входной строки. Если несколько подстрок совпадают по...

Найти самую длинную подстроку, у которой совпадает первый и последний символы
Совпадающие начало и конец Дана строка. Требуется найти самую длинную её подстроку, у которой совпадает первый и последний символы. Если...

Определить самую длинную подстроку, являющуюся особой строкой
Структурные лингвисты называют особыми строки, начинающиеся и заканчивающиеся одним и тем же символом. Вам дана строка, состоящая из...

7
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
19.03.2019, 21:09
sashaupo, один из вариантов

Python
1
2
3
4
5
6
7
8
9
10
from collections import Counter
a='fdwaw4helloworldvcdv1c3xcv3xcz1sda21f2sd1ahelloworldgafgfa4564534321fadghelloworld'
times=3
for n in range(1,len(a)/times+1)[::-1]:
    substrings=[a[i:i+n] for i in range(len(a)-n+1)]
    freqs=Counter(substrings)
    if freqs.most_common(1)[0][1]>=3:
        seq=freqs.most_common(1)[0][0]
        break
print "sequence '%s' of length %s occurs %s or more times"%(seq,n,times)

P.S. взято в сети.
0
0 / 0 / 0
Регистрация: 23.12.2018
Сообщений: 21
19.03.2019, 22:56  [ТС]
А полегче никак?
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
19.03.2019, 23:20
sashaupo, полегче только "курить" алгосы:
http://e-maxx.ru/algo/z_function
http://e-maxx.ru/algo/prefix_function
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
20.03.2019, 05:10
Лучший ответ Сообщение было отмечено iSmokeJC как решение

Решение

Цитата Сообщение от sashaupo Посмотреть сообщение
А полегче никак?
Вот и жадность в регулярках пригодилась:
Python
1
2
3
s = 'abcdabc'
ss = re.findall(r'(.+).*?\1', s)[0]
print(s.count(ss))
2
0 / 0 / 0
Регистрация: 21.05.2020
Сообщений: 2
25.05.2020, 11:08
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Вот и жадность в регулярках пригодилась:
Python
1
2
3
s = 'abcdabc'
ss = re.findall(r'(.+).*?\1', s)[0]
print(s.count(ss))
только надо дописать:
Python
1
import re
0
4 / 4 / 0
Регистрация: 13.03.2021
Сообщений: 19
17.03.2021, 23:33
Самая длинная подстрока находится так:
Python
1
2
3
4
5
6
7
a=input()
s=""
for i in range(len(a)):
    j=a.rfind(a[i])+1
    if j-i>len(s):
        s=a[i:j]
print(s)
Дальше лень было...
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.03.2021, 08:35
Цитата Сообщение от Sosiska_882 Посмотреть сообщение
находится так
Что это за дичь?

Добавлено через 3 минуты
Рыжий Лис, вместо первого из findall можно же просто
Python
1
ss = re.search(r'(.+).*?\1', s).group(1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2021, 08:35
Помогаю со студенческими работами здесь

Найти самую длинную подстроку повторяющуюся в тексте и подсчитать количество символов подстроки
подскажите плез может что-то надо исправить а может я вобще по ложному следу пошёл u='' s='aaaa' i=0 e=0 j=2 while...

Определить самую длинную подстроку
Условия Структурные лингвисты называют особыми строки, начинающиеся и заканчивающиеся одним и тем же символом. Вам дана строка, состоящая...

Найти в строке самую длинную последовательность символов, идущих в алфавитном порядке
Сижу , идей 0 как реализовать это, помогите пожалуйста Напишите программу, которая находит во введённой строке английских символов...

Найти самую длинную последовательность пробелов
Найти самую длинную последовательность пробелов в строке и определить ее длину.

В списке чисел найти самую длинную последовательность
Помогите, пожалуйста, решить задачу. Очень нужно. В списке чисел, которые записаны в файл (имеют строчный тип), найти самую длинную...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru