Binary search
Return the index of target in a sorted list, or -1 if not present.
Longest increasing subsequence
Return the length of the longest strictly increasing subsequence.
Index of peak element
Implement a function that returns the index of any peak element in a given integer array.
Find Peak Element
Implement a function that returns the index of any peak element in an integer array.
Median of Two Sorted Arrays
Given two sorted arrays, return the median of the combined sorted array in O(log(min(n,m))) time.
Exponential Search
Implement exponential search to find any valid index of a target in a sorted list.
Peak Element in Array
Implement a function that returns the index of any peak element in a list of integers.
K Closest Elements
Implement a function to return the k closest elements to a target in a sorted array.
Trie Insert and Search
Implement a Trie and a scenario runner that executes insert/search/prefix operations.
Jump Search
Implement the jump search algorithm to locate a target in a sorted list, returning its index or -1.
Lowest Common Ancestor in a Binary Search Tree
Implement a function to find the lowest common ancestor of two node values in a binary search tree.
Design Skip List Lite
Implement a simplified skip list supporting insert, search, and delete with O(log n) average complexity.
Knight Tour Count
Implement a backtracking search to count all ways a knight can visit every cell on a 5x5 board exactly once starting from (0,0).
Showing 1–13 of 13 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.