Řekněme, že mám řetězec "qwertzqwer" a chci z něj vypsat počet unikátních znaků (tj. znaky, které jsou v něm obsaženy pouze jednou). Výstup této funkce, by byl 2, protože "tz" jsou jedinné dva znaky, které jsou v tomto řetězci pouze jednou. Jak docílit mého snažení? Může mě někdo nakopnout? Případně není na to už nějaká funkce v Boost knihovně? Díky. :)
Fórum › C / C++
(C++) Počet unikátních znaků v poli
Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Vyřešeno. :)
int countUniqueChars(std::string str) {
int count = 0;
for(int i = 0; i < str.size(); i++) {
if(std::count(str.begin(), str.end(), str[i]) == 1) {
count++;
}
}
return count;
}
#2 richard.zavodny
No za "nejlepsi odpoved" bych to moc nepovazoval. Kvadraticka casova slozitost, kdyz se to da udelat linearne. Proste pole pocitadel.
Treba i seradit a pak to projet linearne by mohlo vyjit rychleji
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 59 hostů
Podobná vlákna
Počet polí a počet prvkov v poli — založil Bimak
Pocet znaku — založil jeckop
UTF-8 Pocet znaku — založil sparky29
Počet jednoho znaku v řetězci — založil Jake_Buchar
Doplnění řetězce na počet znaků — založil Davids
Moderátoři diskuze