Решение 24 задания через разбивку на слова

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


На данный способ помимо здравого смысла указывает и кодификатор, в приложении к которому указано следующее:

"Алгоритмы анализа символьных строк, в том числе: подсчёт количества появлений символа в строке; разбиение строки на слова по пробельным символам; поиск подстроки внутри данной строки; замена найденной подстроки на другую строку".

Посмотрим несколько примеров на заданиях с сайта К.Ю.Полякова.

4924

Текстовый файл 24-197.txt содержит строку из заглавных латинских букв X, Y и Z, всего не более чем из 10^6 символов. Определите максимальное количество идущих подряд троек символов ZXY или ZYX.

Алгоритм:

1) заменяем ZXY И ZYX на символ, которого нет в файле (например 1),

2) заменяем все оставшиеся допустимые символы на пробелы,

3) разделяем строку на слова и ищем максимальную длину.

4917

Текстовый файл 24-191.txt содержит строку из заглавных латинских букв, всего не более чем из 10^6 символов. Определите количество подстрок длиной не менее 20 символов, которые начинаются буквой A, заканчиваются буквой B и не содержат других букв A и B, кроме первой и последней.

Алгоритм:

1) Ставим пробелы перед А и после В.

2) Разделяем строку на слова и фильтруем слова по условию (начало А, конец В).

3) Находим количество.

4753

Текстовый файл 24-181.txt содержит строку из заглавных латинских букв и точек, всего не более 10^6 символов. Определите максимальное количество идущих подряд символов, среди которых нет гласных букв (символов A, E, I, O, U, Y), но есть не менее 6 точек.

Алгоритм:

1) Заменяем A, E, I, O, U, Y на пробелы,

2) Разбиваем строку на слова и фильтруем по условию,

3) Находим максимальную длину.

4524

Текстовый файл 24-181.txt содержит строку из заглавных латинских букв и точек, всего не более 10^6 символов. Определите максимальное количество идущих подряд символов, среди которых не более одной точки.

Алгоритм:

1) Разбиваем строку на слова по символу точки и определяем длины получившихся слов,

2) Находим максимальную сумму длин двух рядом стоящих слов,

3) Добавляем 1 (точка между)

2715

Текстовый файл 24-j7.txt состоит не более чем из 10^6 десятичных цифр. Найдите максимальную длину последовательности, которая состоит из цифр одинаковой четности. Например, в последовательности 1533244622185452354, 5 последовательностей с нечетными цифрами: 1533, 1, 5, 5, 35; и 5 с четными: 244622, 8, 4, 2, 4. Следовательно, искомая последовательность – 244622. В качестве ответа укажите максимальную длину найденной последовательности.

Алгоритм:

1) Переберем все рядом стоящие пары, если в паре четность элементов разная, то добавим в накапливаемый список второй элемент с предшествующим пробелом,

2) Соединим полученный список в строку и разобьем её по пробелам,

3) найдем максимальную длину полученных слов.

3750

Текстовый файл 24-157.txt состоит не более чем из 10^6 символов и содержит только заглавные буквы латинского алфавита (ABC…Z). Определите символ, который чаще всего встречается в файле между двумя одинаковыми символами. Например, в тексте CCBAABABCBC есть комбинации ABA, BAB, BCB и CBC. Чаще всего – 2 раза – между двумя одинаковыми символами стоит B, в ответе для этого случая надо написать B2 (без пробелов и других разделителей). Если таких символов несколько, выведите тот, который стоит раньше в алфавите.

Алгоритм:

1) Перебираем тройки символов и сохраняем нужные средние,

2) Сортируем найденные символы и вставляем пробел между разными,

3) Соединяем в строку, бьем по пробелу и сортируем по убыванию длины и возрастанию символа,

4) Выводим первый символ первого слова и его длину.


Источник: vk.com

Комментарии: