Combination Generator
Write a recursive function that returns all combinations of length k from a list of distinct integers.
Generate Parentheses
Given n, generate all valid strings of n pairs of parentheses.
Letter Combinations of a Phone Number
Given a string of digits, return all possible letter combinations that the number could represent on a phone keypad.
Permutations II
Return all distinct permutations of a list of integers that may include duplicates.
Subsets
Return all subsets (the power set) of a list of distinct integers.
Subsets II
Given a collection of integers that might contain duplicates, return all possible unique subsets.
N-Queens Count
Count the number of distinct valid placements of n non-attacking queens on an n×n chessboard.
Word Search Backtrack
Determine if a given word exists in a 2D board by tracing adjacent cells without reusing any cell.
Palindrome Partitioning
Given a string s, return all possible palindrome partitioning of s.
Partition Equal Subset Sum (Backtracking)
Write a function that uses backtracking to decide if a list of positive integers can be partitioned into two subsets with equal sum.
Letter Tile Possibilities
Given a string of letter tiles, count the number of distinct non-empty sequences that can be formed using any non-empty subset in any order.
Combination Sum
Given a list of distinct positive integers and a target, return all unique combinations that sum to the target.
Beautiful Arrangement Count
Count the number of permutations of 1..n such that for every index i, either i is divisible by the number at that position or the number is divisible by i.
Rat in a Maze
Count the number of distinct paths a rat can take from top-left to bottom-right in a binary grid, moving down or right and avoiding walls.
Showing 1–14 of 14 challenges · medium · Recursion & Backtracking
Recursion & Backtracking — Python coding challenges
What you will find here
This page lists recursion & backtracking challenges — real Python problems you solve in the browser IDE with instant test feedback. Each challenge includes a clear brief, starter code, and automated checks.
Challenges vs tutorials and quizzes
Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.