आसान 0 हल किए गए 0% स्वीकृति

Word Tokenizer and Vocabulary

Split text into lowercase words and build a vocabulary sorted by frequency, the first step of any language model.

आप क्या सीखेंगे

  • Split text into lowercase word tokens
  • Count word frequencies
  • Sort a vocabulary by frequency, then alphabetically

समस्या

अनुवाद दिखाएँ

Language models work with tokens, not raw text. A simple tokenizer lowercases the text and treats every run of letters a-z and digits 0-9 as a word; everything else (spaces, punctuation, other characters) separates words.

Build the vocabulary: the distinct words, sorted by how often they appear (most frequent first), with ties broken alphabetically. A word's position in this list is its token ID.

Implement build_vocabulary(text).

Input

text: Any text.

Output

Return the vocabulary as a list of words. Return an empty list if the text has no words.

सीमाएँ

0 ≤ length of text ≤ 100,000

उदाहरण

उदाहरण 1
इनपुट:
text = "The cat sat on the mat. The end!"

अपेक्षित आउटपुट:
expected = ["the", "cat", "end", "mat", "on", "sat"]
इनपुट:
std::string text = "The cat sat on the mat. The end!";

अपेक्षित आउटपुट:
std::vector<std::string> expected = {"the", "cat", "end", "mat", "on", "sat"};
इनपुट:
string text = "The cat sat on the mat. The end!";

अपेक्षित आउटपुट:
string[] expected = new string[] {"the", "cat", "end", "mat", "on", "sat"};

व्याख्या

Lowercased, the words are the, cat, sat, on, the, mat, the, end. "the" appears 3 times; the rest appear once and are sorted alphabetically: ["the", "cat", "end", "mat", "on", "sat"].

उदाहरण 2
इनपुट:
text = "AI, ai and A.I. (2024)"

अपेक्षित आउटपुट:
expected = ["ai", "2024", "a", "and", "i"]
इनपुट:
std::string text = "AI, ai and A.I. (2024)";

अपेक्षित आउटपुट:
std::vector<std::string> expected = {"ai", "2024", "a", "and", "i"};
इनपुट:
string text = "AI, ai and A.I. (2024)";

अपेक्षित आउटपुट:
string[] expected = new string[] {"ai", "2024", "a", "and", "i"};

व्याख्या

Words: ai, ai, and, a, i, 2024. "ai" appears twice; the others once, sorted alphabetically with digits before letters: ["ai", "2024", "a", "and", "i"].

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।