Practice Arena

Python Coding Challenges

Write real Python in the browser. Instant feedback. From beginner to expert.

925 challenges 556 easy 323 medium 46 hard
Lists & Arrays medium

Find Duplicate Number

Given a list of n+1 integers in the range 1..n, find the one integer that appears more than once.

arrays hash-set duplicates
+20 pts 25m
Data Structures & Algorithms medium

Find Peak Element

Implement a function that returns the index of any peak element in an integer array.

arrays search binary-search
+20 pts 25m
Data Structures & Algorithms medium

K Closest Elements

Implement a function to return the k closest elements to a target in a sorted array.

arrays binary-search sorting
+25 pts 25m
Data Structures & Algorithms medium

Trie Insert and Search

Implement a Trie and a scenario runner that executes insert/search/prefix operations.

trie insert search
+25 pts 25m
Data Structures & Algorithms medium

Design Skip List Lite

Implement a simplified skip list supporting insert, search, and delete with O(log n) average complexity.

skip-list linked-list search
+30 pts 30m
Trees & Binary Trees medium

Delete Node in BST

Implement a function that deletes a key from a binary search tree and returns the new root.

binary-search-tree tree-traversal recursion
+20 pts 20m
Trees & Binary Trees medium

Validate BST

Implement a function to determine if a binary tree is a valid Binary Search Tree.

bst recursion validation
+25 pts 25m
Trees & Binary Trees medium

Kth Smallest in BST

Implement a function that returns the k-th smallest value in a binary search tree.

bst inorder recursion
+25 pts 25m
Trees & Binary Trees medium

Zigzag Level Order Traversal

Implement a function that returns the zigzag level-order traversal of a binary tree.

binary-tree breadth-first-search queue
+25 pts 25m
Trees & Binary Trees medium

Maximum Width of a Binary Tree

Given the root of a binary tree, compute its maximum width (the maximum number of nodes in any level, counting null positions).

binary-tree breadth-first-search queue
+25 pts 25m
Graphs & Graph Algorithms medium

A* Pathfinding Heuristic

Implement A* search on a 2D grid to find the shortest path length between two cells.

search heuristic shortest-path
+25 pts 30m
Recursion & Backtracking medium

Word Search Backtrack

Determine if a given word exists in a 2D board by tracing adjacent cells without reusing any cell.

backtracking matrix dfs
+25 pts 25m
Greedy Algorithms medium

Painter Partition Problem

Given board lengths and k painters, find the minimum possible maximum total length a painter must paint.

binary-search greedy array-partitioning
+20 pts 25m
Binary Search medium

Search in Rotated Array

Implement an efficient search in a rotated sorted array using modified binary search.

binary-search arrays search
+20 pts 20m
Binary Search medium

Interpolation Search

Implement interpolation search in Python on a sorted list of integers.

search sorted-array binary-search
+25 pts 25m
Binary Search medium

Ternary Search

Implement ternary search to locate the maximum of a discrete unimodal function.

ternary-search binary-search unimodal
+25 pts 30m
Binary Search medium

Find Minimum in Rotated Sorted Array

Implement a function that finds the minimum element in a rotated sorted array of distinct integers in O(log n) time.

binary-search arrays rotation
+25 pts 30m
Binary Search medium

Koko Eating Bananas

Given piles of bananas and hours, find the minimum integer eating speed Koko needs to finish all piles within H hours.

binary-search arrays search
+25 pts 30m
Binary Search medium

Capacity to Ship Packages

Given package weights and days allowed, compute the smallest ship capacity that can deliver all packages in order within the given days.

binary-search greedy arrays
+30 pts 25m
Binary Search medium

Kth Missing Positive

Given a strictly increasing array and an integer k, return the k-th positive integer that is missing from the array.

binary search arrays mathematics
+20 pts 25m
Binary Search medium

Single Element in Sorted Array

Given a sorted array where every element appears exactly twice except one which appears once, return the single element.

binary-search array xor
+20 pts 25m
Binary Search medium

Find in Mountain Array

Implement a function to search for a target value in a mountain array using binary search.

binary-search bitonic-array array-traversal
+25 pts 25m
Binary Search medium

Maximum Running Time of n Computers

Use binary search to maximize the running time for n computers with batteries.

binary-search greedy array
+30 pts 30m
Binary Search medium

Magnetic Force Packages

Given basket positions and k balls, find the largest possible minimum distance between any two balls.

binary-search greedy array
+30 pts 30m

Showing 1–24 of 35 challenges · medium

Guide: free Python coding challenges

Practice Python by solving problems

PythonSkillset challenges are hands-on coding exercises from beginner to advanced. Open a challenge, read the problem, write Python in the split-pane editor, and run tests with Pyodide — no install required.

How to use the arena

  1. Pick a category — basics, algorithms, strings, and more
  2. Open a challenge, read the statement, and edit the starter code
  3. Run tests, fix failures, then try a related quiz or tutorial lesson

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.