Algorytmy i struktury danych · Junior · Pytanie 44 z 75
Jak w O(n) sprawdzić, czy dwa napisy są anagramami?
- 1Sprawdzić, czy napisy mają tę samą długość
- 2Sprawdzić, czy każdy znak pierwszego napisu jest w drugim
- ✓Poprawna odpowiedź: Policzyć znaki obu napisów i porównać liczniki
Wyjaśnienie
Policz znaki pierwszego napisu w mapie, odejmij drugi napis i sprawdź, czy wszystkie liczniki są zerowe. Równa długość nie wystarcza, a test „każdy znak występuje” ignoruje, ile razy ("aab" i "abb"). Sortowanie obu napisów też działa, ale w O(n log n).