Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 9
1

Необходимо выводить только подстроки, повторяющиеся дважды подряд

21.02.2017, 01:43. Показов 1552. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уже довольно много времени провел в попытках реализовать данный алгоритм, пока что безуспешно. Либо не работает, либо работает не так как нужно.
Цель: выводить только подстроки, повторяющиеся дважды подряд.
Примеры:
5643564312564 -> 56435643
фыывугуга -> ыыугуг
12344321 -> 44
22222222 -> 22222222
Спасибо заранее за подсказки.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2017, 01:43
Ответы с готовыми решениями:

Необходимо добавить проверку введенных значений а и b. Если введены не числа то необходимо выводить сообщение
вот задачка, но ее надо дописать var a = prompt(" введите число", ""); var b = prompt(" введите...

Функция должна выводить несколько значений, но выводить только одно. Почему?
Здравствуйте! Мне нужно создать рекурсивную функцию, которая выводит на экран все простые...

Требуется нажать дважды из-за подряд идущих методов ReadKey и ReadLine?
cki = Console.ReadKey(true); if (cki.Key == ConsoleKey.Escape) break; ...

Найти в строке все повторяющиеся подстроки
может есть какой-нибудь встроенный метод? ну то есть SPMRVBVBBBURQGIBDUGRNICJRVUAXSSR...

4
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
21.02.2017, 04:44 2
Сформулируйте более точно, а то возникают неоднозначности:
bbb -> ? bb, bbb
ababbab -> ? (ab)(ab), (bab)(bab)
aabaabbaab -> ? (aab)(aab)(a)(a), (a)(a)(a)(a)(b)(b)(a)(a), (a)(a)(baab)(baab)
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 9
21.02.2017, 07:25  [ТС] 3
bbb -> bb
ababbab -> (bab)(bab)
aabaabbaab -> (a)(a)(baab)(baab)
Приоритет у более длинных цепочек. Спасибо.
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 9
24.02.2017, 17:04  [ТС] 4
TopLayer, не уверен, увидели ли вы мое сообщение. Недавно на форуме, прошу прощения.
0
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
24.02.2017, 18:40 5
Лучший ответ Сообщение было отмечено qwertyo1 как решение

Решение

qwertyo1, я видел ваше сообщение, но решать эту задачу мне было лень. Расскажу-ка я вам лучше алгоритм решения, а вы уж сами закодируйте. Итак, алгоритм:
1) Найти все двойные подстроки, сформировав список таких объектов:
C#
1
2
3
4
5
class DoubledStringInfo
{
    public int StartIndex;
    public int Length;
};
В решении этого пункта может помочь одна из перегрузок метода string.CompareOrdinal

2) Создать массив, содержащий лучшее решение для каждого префикса строки, индекс - длина префикса
C#
1
2
var bestSolutions = new string[input.Length + 1];
bestSolutions[0] = "";
3) Заполнить предыдущий массив. bestSolutions[i] = лучшее из:
а) bestSolutions[i-1]
б) для каждой двойной строки, заканчивающейся на индексе i (doubledString.StartIndex + doubledString.Length - 1 == i),
выбрать bestSolutions[doubledString.StartIndex] + input.Substring(doubledString.StartIndex, doubledString.Length)
4) Ответом на задачу будет bestSolutions[input.Length]
1
24.02.2017, 18:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2017, 18:40
Помогаю со студенческими работами здесь

Повторяющиеся символы подряд
Помогите, нужно найти повторяющиеся символы подряд. Например ввожу: аа (у меня выдает сравнения а...

Повторяющиеся встречи в outlook выводить как отдельную дату
Добрый день Друзья помогите решить пролему: я вывожу из своего календаря за определенный период...

Подсчитать одинаковые элементы, присвоить им количество, и повторяющиеся не выводить
как в массиве подсчитать одинаковые элементы им присвоить количество и повторяющиеся не выводить?...

Работа с текстом: не выводить слова, содержащие повторяющиеся буквы
Дан текст. Требуется его вывести. Но не выводить слова, содержащие повторяющиеся буквы. Я пытался...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru