Clé de signature d'anagrammes
« listen » et « silent » donnent la même signature, eilnst : leurs lettres triées dans le même ordre, si bien que chaque réarrangement partage la même clé. Groupez des familles d'anagrammes ou associez « Debit card » à « Bad credit ». Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- listen
- Signature
- eilnst
- Longueur
- 6
- Longueur de la signature
- 6
Une signature d'anagramme est le multiensemble de lettres d'un mot ou d'une phrase écrit dans un ordre fixe, de sorte que tout réarrangement partage la même clé. Les solveurs de grilles, les pipelines de dictionnaires et les outils de classe ont besoin de cette clé pour regrouper listen avec silent, associer Debit card à Bad credit et indexer des familles d'anagrammes sans générer chaque permutation. Cette capacité de signature d'anagramme accepte une chaîne de texte, conserve éventuellement uniquement les lettres Unicode et unifie la casse, trie les caractères restants dans un ordre ascendant stable et renvoie la chaîne de signature canonique avec les champs de longueur et les options résolues.
Qu'est-ce qu'une signature d'anagramme et pourquoi le tri des lettres suffit
Deux chaînes sont anagrammes l'une de l'autre lorsqu'elles utilisent les mêmes lettres le même nombre de fois, sans tenir compte de l'ordre. L'astuce d'ingénierie classique consiste à projeter chaque chaîne vers une signature qui encode ce multiensemble : passer les lettres en minuscules, supprimer espaces et ponctuation si vous associez des mots plutôt que des sacs complets de caractères, puis trier les caractères restants par ordre croissant et les concaténer.
Après cette transformation, listen et silent deviennent toutes deux eilnst, et des paires de phrases plus longues comme Debit card et Bad credit s'effondrent sur la même clé une fois les espaces absents. Le tri suffit car un multiensemble de caractères est entièrement déterminé par la suite triée ; vous n'avez pas besoin de produits de facteurs premiers par lettre, de masques de bits limités à vingt-six lettres anglaises ni de générateurs de permutations coûteux.
Le filtrage des lettres Unicode avec la classe letter conserve dans la signature les scripts latins accentués, grec et cyrillique lorsqu'ils apparaissent, tandis que chiffres et symboles disparaissent en mode letters-only par défaut. L'unification de casse par défaut correspond à la façon dont on parle d'anagrammes de mots : Listen et silent ne doivent pas former des groupes distincts seulement à cause de la capitalisation.
Le point d'extrémité n'affirme jamais de sens linguistique, n'invente jamais de définitions de dictionnaire et n'énumère jamais les réarrangements ; il construit seulement la clé déterministe sur laquelle s'appuient les algorithmes de regroupement et d'appariement. Comme le tri utilise l'ordre simple des unités de code UTF-16 plutôt qu'une collation de locale, la même chaîne produit toujours la même signature d'un runtime et d'un hôte à l'autre.
Cas d’usage
Regroupement dictionnaire et jeux de mots
Indexez chaque mot par sa signature de lettres triées pour que les recherches d'anagrammes renvoient le groupe complet en une seule requête de table de hachage ou de base de données.
Contrôles d'anagrammes en classe
Comparez la réponse d'un élève à une phrase cible par égalité de signatures au lieu de trier les chaînes de façon ad hoc dans chaque script de notation.
Correspondance d'anagrammes de phrases
Associez des phrases multi-mots telles que Debit card et Bad credit après que le filtrage letters-only ait retiré les espaces et unifié la casse.
Questions fréquentes
listen et silent partagent-elles la même signature ?
Oui. Les deux se projettent sur eilnst avec les options par défaut, de sorte que vous pouvez les regrouper ou les associer en comparant les chaînes signature.
Que se passe-t-il si text est vide ?
Une entrée vide n'est pas une demande de signature valide et n'est pas facturée.
Les espaces et les majuscules comptent-ils ?
Pas par défaut. Seules les lettres sont gardées, d'abord mises en minuscules, c'est pourquoi « Debit card » et « Bad credit » partagent une clé. Vous pouvez choisir de garder chaque caractère, espaces et chiffres compris, et de distinguer les majuscules.
Comment regrouper une liste de mots en familles d'anagrammes ?
Calculez la signature de chaque mot et regroupez les mots selon celle-ci. Tous les membres d'une famille partagent la même clé, donc une seule recherche renvoie le groupe entier sans générer le moindre réarrangement.
Cela fonctionne-t-il avec les lettres accentuées et d'autres alphabets ?
Oui. Les lettres latines accentuées, le grec et le cyrillique restent dans la signature, tandis que chiffres et symboles disparaissent quand seules les lettres sont gardées. L'ordre est fixe : un même texte donne toujours la même clé.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/str/anagram-signature \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"listen"}'const res = await fetch("https://api.kit.forhosting.com/str/anagram-signature", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "listen"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/anagram-signature",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "listen"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/anagram-signature", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"listen"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"listen"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/anagram-signature", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "listen"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.anagram_signature",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 100000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Une entrée vide échoue avec invalid_input au lieu d'inventer une clé creuse, tandis que les sacs de ponctuation seule en mode letters-only réussissent avec une signature vide encore utilisable comme clé de groupe.
Qu'est-ce qu'une signature d'anagramme et pourquoi le tri des lettres suffit
Lorsque vous avez besoin d'un multiensemble brut de caractères pour des sacs exacts—espaces, chiffres et ponctuation compris—fixez letters_only à false et éventuellement case_sensitive à true pour que chaque unité de code participe.
Contrat d'entrée, forme de la réponse et comportement d'erreur
Associez la clé à vos propres tables de hachage ou index de base si vous avez besoin d'une recherche d'anagrammes multi-mots ; ce point d'extrémité n'émet que la signature et ne parcourt pas un dictionnaire ni ne renvoie de mots candidats. Envoyez par POST un corps JSON avec un champ obligatoire, text, la chaîne non vide que vous souhaitez transformer en signature. Les alias input, string, value, content et s sont acceptés pour que les scripts réutilisent des noms courants. L'option letters_only vaut true par défaut et peut aussi être envoyée comme lettersOnly, alpha_only ou alphaOnly ; lorsqu'elle est true seules les lettres Unicode restent avant le tri, et lorsqu'elle est false chaque caractère de la chaîne (éventuellement en minuscules) est conservé. L'option case_sensitive vaut false par défaut et peut aussi être envoyée comme caseSensitive ou sensitive ; lorsqu'elle est false le texte est d'abord mis en minuscules pour que les anagrammes à casse mixte partagent une clé, et lorsqu'elle est true la casse est préservée pour que A et a restent distinctes dans la signature triée. L'absence de text, les chaînes vides, les objets et tableaux non chaînes, et les nombres non finis échouent avec invalid_input et un message qui nomme le problème—ces échecs de validation ne sont pas facturés. Un texte au-delà de la limite max_chars déclarée est également rejeté. En cas de succès le corps renvoie le text d'origine et sa length, indique signature comme la clé triée concaténée, signature_length comme la longueur de la clé après filtrage, letters_only et case_sensitive comme booléens résolus, et method égal à anagram_signature. Exemple : listen avec les valeurs par défaut produit signature eilnst et signature_length six.
Où une API de signature d'anagrammes apporte de la valeur
Les backends de jeux de mots et les outils de mots croisés ont besoin d'une clé de groupe stable pour que tout mot qui réordonne les mêmes lettres tombe dans le même seau pour les recherches et les classements. Les plateformes d'enseignement utilisent la signature comme oracle : l'élève soumet un anagramme candidat et le correcteur compare les signatures au lieu de trier sur chaque client. Une validation échouée ne consomme pas le solde. Les pipelines de nettoyage de données qui dédoublonnent des noms de produits ou des libellés flous traitent parfois les sacs de lettres comme un premier passage peu coûteux avant des modèles de similarité plus lourds, et une petite API d'analyse évite de réimplémenter filtres de lettres Unicode et ordre de tri dans chaque langage. Comme l'implémentation est un parse de niveau A pur, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant.
Questions techniques
Comment obtenir la signature d'anagramme d'un mot ?
Envoyez une chaîne de texte non vide. Avec les valeurs par défaut (letters_only true, case_sensitive false) l'API met les lettres en minuscules, retire le non-lettre, trie en ordre croissant et renvoie signature.
Que contrôle letters_only ?
Lorsqu'il vaut true (défaut), seules les lettres Unicode restent avant le tri—espaces, chiffres et ponctuation disparaissent. Lorsqu'il vaut false, chaque caractère participe à la signature.
Combien coûte l'outil de signature d'anagrammes ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.