What you need to know to solve basic combinatorial generation problems you might encounter on coding interviews, with plenty of examples in Python.


From An Iterator of Iterators to Cantor's Paradise: A Deep Dive Into An Interview Question
A deep dive into flattening an iterator of iterators and a segue into set theory and some of its theorems based on the solutions to this problem, inspired by a coding interview question.

Generating All Balanced Parentheses: A Deep Dive Into An Interview Question
A deep dive into the generation of balanced parentheses, inspired by a coding interview question.

Hundred Prisonors and a Room With a Light Switch
A hundred prisoners are given a challenge that might set them free. See if you can solve the puzzle involving a light switch and help them gain their freedom.

Interview Question: All Possible Products of a List of Primes
Interview question to list all possible products of a list of primes, with two Python solutions and a short discussion of the problem.

Interview Question: Fair and Unfair Coins and Bayes' Theorem
Interview question to infer the probability of an fair and unfair coins after a certain number of coin tosses using Bayes' theorem.

Interview Question: Fairness from Unfairness and Randomness Extraction
Interview question to use an unfair coin to simulate a fair one. The question is the same as extracting randomness from an unfair Bernoulli process. A Python implementation is given.

Interview Question: Grouping Words Into Anagrams
Simple Python solution to interview question to group words into anagrams.