重複を削除するプロセスを停止する文字の1つのインスタンスが1つだけ残るまで、文字列内の各文字に対して同じ数の重複を削除する方法残りの文字から?文字列内の文字ごとに同じ数の重複文字を削除する
私は、文字列がある場合:
string = "aaaabbbxxxxx44444oooooo9999999"
をあなたは私たちは2を削除する場合、文字b
は、重複の最小数(すなわち2つの以上b
Sに続くb
があります)を持つ文字であるので、ことがわかります各文字セットの重複、我々は元の文字列で使用される任意の文字を失うことなく、各文字の重複の数を最小限にすることなく、次のように残されるだろう:
string = "aabxxx444oooo99999"
はまた、私たちとさせて頂きます文字列には空白が含まれていないし、それが乱雑である場合:
string_b = "aabb4keekkk447abae777err99r9"
あなたはまず、それを並べ替えることができます。
をあなたの軽減重複方法適用する前に:
string_b = "4779aabeekkr"
また、最後のコード行から '.sort'を削除して、関心のある人のために文字の順序を保持することができます。 'h.map {| k、v | k *(v - n)} .join#=> "aab4kkee77r9" ' –