Torna alle sfide
Facile 0 risolte 0% di accettazione

Verifica Pangramma

Un pangramma contiene ogni lettera dell'alfabeto inglese almeno una volta.

Cosa imparerai

  • Raccogliere le lettere distinte di un testo
  • Ignorare maiuscole e caratteri che non sono lettere
  • Confrontare con l'alfabeto di 26 lettere

Problema

Un pangramma contiene ogni lettera dell'alfabeto inglese almeno una volta. Determina se il testo è un pangramma. Ignora maiuscole/minuscole, spazi, cifre e punteggiatura.

Implementa pangram_check(text).

Input

text: Il testo da analizzare.

Output

Restituisci true se sono presenti tutte le 26 lettere, altrimenti false.

Vincoli

0 ≤ lunghezza di text ≤ 100.000. L'input contiene caratteri ASCII stampabili. Contano solo le lettere A–Z e a–z.

Esempi

Esempio 1
Input:
text = "The quick brown fox jumps over the lazy dog."

Output atteso:
expected = True
Input:
std::string text = "The quick brown fox jumps over the lazy dog.";

Output atteso:
bool expected = true;
Input:
string text = "The quick brown fox jumps over the lazy dog.";

Output atteso:
bool expected = true;

Spiegazione

Ogni lettera da a a z compare almeno una volta. La T maiuscola conta come t.

Esempio 2
Input:
text = "abcdefghijklmnopqrstuvwxy"

Output atteso:
expected = False
Input:
std::string text = "abcdefghijklmnopqrstuvwxy";

Output atteso:
bool expected = false;
Input:
string text = "abcdefghijklmnopqrstuvwxy";

Output atteso:
bool expected = false;

Spiegazione

Questo testo contiene da a a y, ma manca la z. Una sola lettera mancante rende il risultato false.

Come affrontarlo

Prova prima da solo, poi apri un suggerimento alla volta.

Suggerimento 1

Normalizza il testo così il maiuscolo/minuscolo non conta.

Suggerimento 2

Tieni traccia delle 26 lettere che sono apparse almeno una volta.

Suggerimento 3

Ignora completamente ogni carattere non lettera, inclusi spazi e punteggiatura.

Complessità attesa

tempo O(n), spazio aggiuntivo O(1)

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.