@Egolds
Junior .NET Разработчик

C# Как отсортировать символы вставкой?

Как сортировать цифры - это понятно.
Но вот как быть с символами?

Есть две строки:
string input = "AAAABBBCCDDDHH";
string willbe = "AABCHHDACBDDAB";


Нужно input превратить в willbe, методом сортировки вставками либо деревом, и чтобы при большой длине строк сортировка выполнялась быстрее 5 секунд.
Строки всегда имеют одинаковую длину и каждый символ повторяется одинаковое кол-во раз в каждой строке.

Прошу помощи.
  • Вопрос задан
  • 291 просмотр
Решения вопроса 1
VoidVolker
@VoidVolker
  1. Сопоставляем каждому символу во второй строке число-индекс этого символа;
  2. По каждому символу в первой строке ищем тот же символ во второй строке и сопоставляем текущему символу число индекс второго символа;
  3. Удаляем из второй строки найденный символ — т.е. символы повторяются нужно сопоставить символы один к одному;
  4. Сортируем первую строку по номерам символов — при условии совпадения числа одинаковых символов в строках, результат будет соответствовать второй строке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ЭЛКОМ+ Москва
от 70 000 до 165 000 ₽
deeplay Новосибирск
от 130 000 до 200 000 ₽
от 3 500 до 4 000 $