Yinelenen öğeleri kaldırma işleminden çıkacak karakterlerden yalnızca bir tanesi kalmayıncaya kadar bir dizede her karakter için aynı sayıda çoğaltmanın kaldırılması nasıl mümkün olur? kalan karakterlerden mi?Bir dizedeki her karakter için aynı sayıda yinelenen karakteri kaldırın
Ben bir dize varsa: biz 2 kaldırırsanız
string = "aaaabbbxxxxx44444oooooo9999999"
Sen, (yani iki b
s izledi b
var) karakteri b
çiftleri az sayı ile karakter olduğunu görüyoruz böylece edebilirsiniz her karakter kümesinden çiftleri, her karakter için kopya sayısını orijinal dizesi kullanılan herhangi karakterleri kaybetmeden ancak minimize olmadan aşağıda sol olurdu:
string = "aabxxx444oooo99999"
Ayrıca varsayalım bizim dize hiçbir boşluk içerir ve karışık ise:
string_b = "aabb4keekkk447abae777err99r9"
Önce sen sıralayabilirsiniz:
senin azaltmak çiftleri yöntemi uygulamadan önce:
string_b = "4779aabeekkr"
Ayrıca, ilgili kullanıcıların karakterlerinin sırasını korumak için '.sort 'kodunu son satırdan kaldırabilirsiniz. h.map {| k, v | k * (v - n)} .join # => "aab4kkee77r9" –