Mid From PDF Coding C# Coding Interview

Implement a queue using stacks (efficient enqueue and dequeue)?

Short answer: public class MyQueue { private Stack<int> stackIn = new Stack<int>(); private Stack<int> stackOut = new Stack<int>(); // Enqueue: push into stackIn (O(1)) public void Enqueue(int x) { stackIn.Push(x); } // Dequeue: if stackOut empty, pour all from stackIn to stackOut, then pop (amortized O(1)) public int Dequeue() { if (stackOut.Count == 0) { while (stackIn.Count > 0) { stackOut.Push(stackIn.Pop()); } } return…

Explain a bit more

stackOut.Pop(); } public int Peek() { if (stackOut.Count == 0) { while (stackIn.Count > 0) { stackOut.Push(stackIn.Pop()); } } return stackOut.Peek(); } public bool IsEmpty() { return stackIn.Count == 0 && stackOut.Count == 0; } } Follow on: Explanation: Two stacks are used: stackIn for enqueue, stackOut for dequeue. Elements are transferred only when needed, making both operations amortized O(1).

Example code

public class MyQueue {
private Stack<int> stackIn = new Stack<int>();
private Stack<int> stackOut = new Stack<int>(); // Enqueue: push into stackIn (O(1)) public void Enqueue(int x) { stackIn.Push(x); } // Dequeue: if stackOut empty, pour all from stackIn to stackOut, then pop (amortized O(1)) public int Dequeue() {
if (stackOut.Count == 0) { while (stackIn.Count > 0) { stackOut.Push(stackIn.Pop()); }
}
return stackOut.Pop();
}
public int Peek() {
if (stackOut.Count == 0) { while (stackIn.Count > 0) { stackOut.Push(stackIn.Pop()); }
}
return stackOut.Peek();
}
public bool IsEmpty() {
return stackIn.Count == 0 && stackOut.Count == 0;
}
} Follow on: Explanation: Two stacks are used: stackIn for enqueue, stackOut for dequeue. Elements are transferred only when needed, making both operations amortized O(1).

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