Mid From PDF Coding C# Coding Interview

Find all anagrams of a string in another string?

Short answer: public List<int> FindAnagrams(string s, string p) { List<int> result = new List<int>(); if (p.Length > s.Length) return result; int[] pCount = new int[26]; int[] sCount = new int[26]; Follow on: for (int i = 0; i < p.Length; i++) { pCount[p[i] - 'a']++; sCount[s[i] - 'a']++; } if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(0); for (int i = p.Length; i < s.Length; i++) { sCount[s[i] - 'a']++; sCount[s[i - p.

Explain a bit more

Length] - 'a']--; if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(i - p.Length + 1); } return result; } Explanation: Sliding window with frequency count arrays for the pattern and current window.

Example code

public List<int> FindAnagrams(string s, string p) {
List<int> result = new List<int>();
if (p.Length > s.Length) return result;
int[] pCount = new int[26];
int[] sCount = new int[26]; Follow on: for (int i = 0; i < p.Length; i++) { pCount[p[i] - 'a']++; sCount[s[i] - 'a']++; }
if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(0); for (int i = p.Length; i < s.Length; i++) { sCount[s[i] - 'a']++; sCount[s[i - p.Length] - 'a']--; if (Enumerable.SequenceEqual(pCount, sCount)) result.Add(i - p.Length + 1); }
return result;
} Explanation: Sliding window with frequency count arrays for the pattern and current window.

Real-world example (ShopNest)

In coding rounds, state complexity aloud, write a clear ShopNest-flavored example (orders, carts), then handle edge cases (empty list, null, overflow).

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details