Bird
Raised Fist0
DSA C#programming~5 mins

Count Words with Given Prefix in DSA C# - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the problem 'Count Words with Given Prefix' ask you to do?
It asks you to count how many words in a list start with a specific prefix string.
Click to reveal answer
intermediate
Which data structure can efficiently help count words with a given prefix?
A Trie (prefix tree) can efficiently store words and count how many start with a given prefix.
Click to reveal answer
beginner
How do you check if a word starts with a prefix in C#?
Use the method word.StartsWith(prefix) which returns true if the word begins with the prefix.
Click to reveal answer
intermediate
What is the time complexity of checking prefix matches for all words using simple iteration?
It is O(n * m) where n is the number of words and m is the length of the prefix, because each word is checked individually.
Click to reveal answer
advanced
Why might a Trie be better than simple iteration for many prefix queries?
A Trie allows prefix queries in O(m) time regardless of the number of words, making it faster when many queries are done.
Click to reveal answer
What does the method word.StartsWith(prefix) return in C#?
ATrue if word ends with prefix
BTrue if word starts with prefix
CTrue if prefix is anywhere in word
DTrue if word equals prefix
Which data structure is best for multiple prefix count queries?
ATrie
BArray
CStack
DQueue
If you have 1000 words and prefix length 3, what is the time complexity of checking all words with simple iteration?
AO(3000)
BO(1000)
CO(3)
DO(1)
What is a prefix in the context of strings?
AAny substring
BA substring in the middle
CA substring at the end
DA substring at the start
Which of these is NOT a benefit of using a Trie for prefix counting?
AFaster prefix queries
BSupports quick insertion
CUses less memory than arrays
DStores words by shared prefixes
Explain how you would count words starting with a given prefix using simple iteration.
Think about checking each word one by one.
You got /3 concepts.
    Describe how a Trie helps optimize counting words with a given prefix.
    Imagine a tree where each branch is a letter.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the problem "Count Words with Given Prefix" ask you to do?
      easy
      A. Count how many words in a list start with a specific prefix
      B. Find the longest word in a list
      C. Sort words alphabetically
      D. Replace the prefix in all words with another string

      Solution

      1. Step 1: Understand the problem statement

        The problem asks to count words that begin with a given prefix, not to sort or replace words.
      2. Step 2: Identify the key action

        Counting words starting with the prefix is the main task.
      3. Final Answer:

        Count how many words in a list start with a specific prefix -> Option A
      4. Quick Check:

        Count words with prefix = Count how many words in a list start with a specific prefix [OK]
      Hint: Focus on words starting with prefix, not other operations [OK]
      Common Mistakes:
      • Confusing counting with sorting
      • Thinking the task is to replace prefixes
      • Ignoring the prefix condition
      2. Which of the following C# code snippets correctly checks if a string word starts with a prefix prefix?
      easy
      A. if (word == prefix) { /* do something */ }
      B. if (word.Contains(prefix)) { /* do something */ }
      C. if (word.EndsWith(prefix)) { /* do something */ }
      D. if (word.StartsWith(prefix)) { /* do something */ }

      Solution

      1. Step 1: Recall string methods in C#

        The method StartsWith checks if a string begins with a given substring.
      2. Step 2: Compare options

        Contains checks anywhere in the string, EndsWith checks the end, and == checks exact equality.
      3. Final Answer:

        if (word.StartsWith(prefix)) { /* do something */ } -> Option D
      4. Quick Check:

        Use StartsWith to check prefix [OK]
      Hint: Use StartsWith method to check prefix in C# strings [OK]
      Common Mistakes:
      • Using Contains instead of StartsWith
      • Checking equality instead of prefix
      • Using EndsWith which checks suffix
      3. What is the output of the following C# code?
      string[] words = {"apple", "app", "application", "banana"};
      string prefix = "app";
      int count = 0;
      foreach (var word in words) {
          if (word.StartsWith(prefix)) {
              count++;
          }
      }
      Console.WriteLine(count);
      medium
      A. 2
      B. 1
      C. 3
      D. 4

      Solution

      1. Step 1: Check each word against prefix "app"

        Words: "apple" (yes), "app" (yes), "application" (yes), "banana" (no).
      2. Step 2: Count matches

        Three words start with "app", so count = 3.
      3. Final Answer:

        3 -> Option C
      4. Quick Check:

        Words starting with "app" = 3 [OK]
      Hint: Count words starting with prefix by checking each word [OK]
      Common Mistakes:
      • Counting only exact matches
      • Including words that contain prefix but don't start with it
      • Off-by-one counting errors
      4. The following code is intended to count words starting with a prefix but gives wrong output. What is the error?
      string[] words = {"cat", "car", "dog", "cart"};
      string prefix = "car";
      int count = 0;
      for (int i = 0; i <= words.Length; i++) {
          if (words[i].StartsWith(prefix)) {
              count++;
          }
      }
      Console.WriteLine(count);
      medium
      A. The loop condition should be i < words.Length instead of <=.
      B. The prefix variable is incorrect.
      C. The StartsWith method is used wrongly.
      D. The count variable should be initialized inside the loop.

      Solution

      1. Step 1: Analyze the for loop condition

        The loop runs from i = 0 to i <= words.Length, which causes an index out of range error because valid indices are 0 to words.Length - 1.
      2. Step 2: Correct the loop condition

        Change condition to i < words.Length to avoid accessing invalid index.
      3. Final Answer:

        The loop condition should be i < words.Length instead of <=. -> Option A
      4. Quick Check:

        Loop index must be less than array length [OK]
      Hint: Use i < array.Length to avoid index errors in loops [OK]
      Common Mistakes:
      • Using <= instead of < in loop condition
      • Reinitializing count inside loop
      • Misusing StartsWith method
      5. Given a list of words ["tree", "trie", "trigger", "trip", "try", "matrix"] and prefix "tri", which C# code snippet correctly counts the words starting with the prefix and prints the count?
      hard
      A. int count = 0; foreach(var word in words) { if(word.Contains(prefix)) count++; } Console.WriteLine(count);
      B. int count = words.Count(word => word.StartsWith(prefix)); Console.WriteLine(count);
      C. int count = 0; for(int i=0; i<=words.Length; i++) { if(words[i].StartsWith(prefix)) count++; } Console.WriteLine(count);
      D. int count = words.Length; Console.WriteLine(count);

      Solution

      1. Step 1: Understand the requirement

        We need to count words starting exactly with prefix "tri".
      2. Step 2: Evaluate each option

        int count = words.Count(word => word.StartsWith(prefix)); Console.WriteLine(count); uses LINQ Count with StartsWith correctly.
        int count = 0; foreach(var word in words) { if(word.Contains(prefix)) count++; } Console.WriteLine(count); uses Contains which counts words containing prefix anywhere.
        int count = 0; for(int i=0; i<=words.Length; i++) { if(words[i].StartsWith(prefix)) count++; } Console.WriteLine(count); has loop with <= causing index error.
        int count = words.Length; Console.WriteLine(count); counts all words ignoring prefix.
      3. Final Answer:

        int count = words.Count(word => word.StartsWith(prefix)); Console.WriteLine(count); -> Option B
      4. Quick Check:

        Use LINQ Count with StartsWith for prefix count [OK]
      Hint: Use LINQ Count with StartsWith for concise prefix counting [OK]
      Common Mistakes:
      • Using Contains instead of StartsWith
      • Loop index out of range errors
      • Counting all words without prefix check
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard