Valid parentheses
Return True if brackets in the string close in the correct order.
BFS level-order traversal
Return the level-order traversal of a binary tree as a list of lists.
LRU cache decorator
Implement @lru_cache(maxsize=N) for unary functions using OrderedDict.
Topological sort (Kahn)
Return a valid topological ordering of tasks, or [] if a cycle exists.
Count pairs with given difference
Count how many unordered pairs in a list have a given absolute difference using an efficient approach.
Bubble Sort
Implement bubble sort that sorts a list of numbers in ascending order.
Selection Sort Implementation
Implement selection sort to sort a list of numbers in ascending order.
Heap Sort Implementation
Implement the heap sort algorithm to sort a list of comparable elements in non-decreasing order.
Radix Sort
Implement LSD radix sort to sort a list of non-negative integers in ascending order.
Reconstruct Itinerary
Given a list of airline tickets, reconstruct the itinerary in order using each ticket exactly once, choosing the lexicographically smallest path when multiple options exist.
Showing 10 challenges · Data Structures & Algorithms
Data Structures & Algorithms — Python coding challenges
What you will find here
This page lists data structures & algorithms 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.