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
Dynamic Programming hard

Split Array Largest Sum

Minimize the largest sum among k contiguous subarrays using dynamic programming.

dynamic-programming binary-search arrays
+45 pts 40m
Trees & Binary Trees easy

Binary Search Tree Class

Build a BinarySearchTree class and a sequence runner that executes a list of operations.

binary-search-tree classes traversal
+10 pts 15m
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 easy

Insert into BST

Implement insertion into a Binary Search Tree while maintaining BST properties.

binary-search-tree recursion tree
+10 pts 15m
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 easy

Search Insert Position

Return the index where a target should be inserted into a sorted list to maintain order.

binary-search arrays searching
+10 pts 15m
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 hard

Median of Sorted Array BS

Implement a binary search algorithm to find the median of two sorted arrays efficiently.

binary-search arrays median
+45 pts 35m
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 25–48 of 64 challenges

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.