Retour aux défis
Facile 0 résolus 0 % de réussite

Vérification d'anagrammes

Vérifiez si deux phrases utilisent exactement les mêmes lettres.

Ce que vous allez apprendre

  • Normaliser le texte selon la casse et les espaces
  • Comparer les comptes de lettres ou les lettres triées
  • Choisir entre tri et comptage

Problème

Deux phrases sont des anagrammes si elles contiennent exactement les mêmes lettres, le même nombre de fois, en ignorant la casse, les espaces et la ponctuation.

Implémentez is_anagram(first, second).

Entrée

first : La première phrase. second : La seconde phrase.

Sortie

Retournez true si les phrases sont des anagrammes.

Contraintes

0 ≤ longueur de chaque ≤ 10 000 (ASCII)

Exemples

Exemple 1
Entrée :
first = "Listen"
second = "Silent"

Sortie attendue :
expected = True
Entrée :
std::string first = "Listen";
std::string second = "Silent";

Sortie attendue :
bool expected = true;
Entrée :
string first = "Listen";
string second = "Silent";

Sortie attendue :
bool expected = true;

Explication

Les deux utilisent une fois chacune des lettres e, i, l, n, s, t.

Exemple 2
Entrée :
first = "apple"
second = "paddle"

Sortie attendue :
expected = False
Entrée :
std::string first = "apple";
std::string second = "paddle";

Sortie attendue :
bool expected = false;
Entrée :
string first = "apple";
string second = "paddle";

Sortie attendue :
bool expected = false;

Explication

Les lettres et leurs occurrences diffèrent.

Comment l'aborder

Essayez d'abord seul, puis ouvrez les indices un par un.

Indice 1

Supprimez les caractères non lettres et ignorez la casse avant de comparer.

Indice 2

Comptez les fréquences des caractères pour les deux phrases, ou triez leurs formes normalisées.

Indice 3

La ponctuation et les espaces ne doivent pas influencer le résultat.

Complexité attendue

temps O(n), espace supplémentaire O(1)

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.