Torna alle sfide
Facile 0 risolte 0% di accettazione

Character Frequency

Count how often each character appears.

Cosa imparerai

  • Build a frequency table
  • Update dictionary entries safely
  • Return results in a required order

Problema

Mostra traduzione

Count every character in text except spaces. Report each distinct character once as "character:count", sorted by character code (so uppercase letters come before lowercase).

Implement character_frequency(text).

Input

text: The text to count (ASCII characters).

Output

Return the list of "character:count" entries.

Vincoli

0 ≤ length ≤ 10,000

Esempi

Esempio 1
Input:
text = "hello"

Output atteso:
expected = ["e:1", "h:1", "l:2", "o:1"]
Input:
std::string text = "hello";

Output atteso:
std::vector<std::string> expected = {"e:1", "h:1", "l:2", "o:1"};
Input:
string text = "hello";

Output atteso:
string[] expected = new string[] {"e:1", "h:1", "l:2", "o:1"};

Spiegazione

e:1, h:1, l:2, o:1 sorted by character: ["e:1", "h:1", "l:2", "o:1"].

Esempio 2
Input:
text = "a a A"

Output atteso:
expected = ["A:1", "a:2"]
Input:
std::string text = "a a A";

Output atteso:
std::vector<std::string> expected = {"A:1", "a:2"};
Input:
string text = "a a A";

Output atteso:
string[] expected = new string[] {"A:1", "a:2"};

Spiegazione

Spaces are skipped; "A" sorts before "a": ["A:1", "a:2"].

Come affrontarlo

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

Suggerimento 1

Skip spaces, but count every other ASCII character exactly as it appears.

Suggerimento 2

Accumulate counts in a frequency table, then output distinct characters once.

Suggerimento 3

Sort by character code so uppercase and lowercase order naturally follows ASCII.

Complessità attesa

O(n + m log m) time, O(m) extra space

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.