Как можно удалить одинаковое количество дубликатов для каждого символа в строке, пока не останется только один экземпляр одного из символов, останавливающих процесс удаления дубликатов от остальных персонажей?Удалить одинаковое количество повторяющихся символов для каждого символа в строке
Если у меня есть строка:
string = "aaaabbbxxxxx44444oooooo9999999"
Вы можете видеть, что характер b
есть символ с наименьшим количеством дублей (т.е. есть b
следуют еще два b
с), так что, если мы уберем 2 дубликаты из каждого набора символов, мы бы оставили со следующим без потери каких-либо символов, используемых в исходной строке, но свести к минимуму количества дублей для каждого персонажа:
string = "aabxxx444oooo99999"
позволяет также предположить, наши строка не содержит пустое пространства, и если это перемешано:
string_b = "aabb4keekkk447abae777err99r9"
Вы можете отсортировать его первым:
Перед применения вашего метода сокращения дублей:
string_b = "4779aabeekkr"
И вы можете удалить '.sort' из последней строки кода, чтобы сохранить порядок символов для заинтересованных. 'h.map {| k, v | k * (v - n)} .join # => "aab4kkee77r9" ' –