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
Graphs & Graph Algorithms medium

Minimum Height Trees

Given an undirected tree, find all root nodes that minimize the height of the tree.

graphs bfs topological
+30 pts 30m
Graphs & Graph Algorithms medium

Open the Lock BFS

Implement a BFS solution to find the minimum number of turns needed to open a 4-wheel lock, avoiding a set of deadends.

bfs strings graph
+25 pts 30m
Graphs & Graph Algorithms medium

Minimum Genetic Mutation

Implement a function to compute the minimum number of single-character mutations needed to transform one gene string into another, using a given bank of valid mutations.

bfs graph string
+30 pts 30m
Graphs & Graph Algorithms medium

Floyd-Warshall: All-Pairs Shortest Paths

Implement the Floyd-Warshall algorithm to find all-pairs shortest path distances in a directed graph with possibly negative weights but no negative cycles.

graph shortest-path dynamic-programming
+25 pts 30m
Graphs & Graph Algorithms medium

Jump Game on Graph

Implement a function that determines if you can reach the last node of a directed graph by jumping from node 0 to node n-1 using edges.

graphs bfs reachability
+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
Recursion & Backtracking hard

Partition to k subsets

Determine if an array of positive integers can be partitioned into k subsets of equal sum using backtracking.

backtracking recursion partition
+40 pts 35m
Recursion & Backtracking hard

Remove invalid parentheses

Given a string with parentheses and letters, return all valid strings after removing the minimum number of invalid parentheses.

backtracking parentheses string
+45 pts 40m
Greedy Algorithms medium

Candy Distribution

Compute the minimum total candies needed so that every child gets at least one and children with higher ratings than neighbors get more candies.

greedy arrays optimization
+20 pts 20m
Greedy Algorithms medium

Meeting Rooms Minimum

Given a list of meeting time intervals, compute the minimum number of conference rooms required.

greedy intervals sorting
+30 pts 25m
Greedy Algorithms medium

Boats to Save People

Given a list of people weights and a boat's weight limit, return the minimum number of boats required.

greedy two-pointers sorting
+25 pts 25m
Greedy Algorithms medium

Bag of Tokens Score

Given tokens with values and initial power, determine the maximum score achievable by selling tokens for power or buying tokens for score.

greedy two-pointers sorting
+30 pts 30m
Greedy Algorithms medium

Minimum Number of Arrows to Burst Balloons

Given balloon intervals, find the minimum number of arrows to burst all balloons by merging overlaps.

greedy sorting intervals
+25 pts 25m
Greedy Algorithms hard

Patching Array

Given a sorted array of positive integers and a target n, find the minimum number of patches to make every number from 1 to n representable as a subset sum.

greedy arrays prefix-sums
+40 pts 30m
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
Greedy Algorithms medium

Gas Station Circuit

Given gas and cost arrays for a circular route, determine the starting gas station index that allows a full loop, or -1 if none exists.

greedy arrays circular
+25 pts 20m
Greedy Algorithms medium

Jump Game Reachable

Given an array of non-negative integers where each element is the maximum jump length, determine if you can reach the last index.

greedy arrays jump-game
+20 pts 20m
Greedy Algorithms medium

Non-overlapping Intervals

Given a list of intervals, return the minimum number of intervals to remove to make the rest non-overlapping.

greedy intervals sorting
+20 pts 20m
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

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
Binary Search medium

Minimum Speed to Arrive on Time

Given commute distances and a time limit, compute the minimum integer speed so you arrive on time.

binary-search simulation math
+25 pts 30m
Binary Search medium

Binary Search on Answer: Find the Minimal Maximum Subarray Sum

Implement a function that finds the minimal possible maximum subarray sum when splitting an array into at most k contiguous subarrays.

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

Book Allocation: Minimize Maximum Pages

Implement a function that returns the minimized maximum pages when allocating a list of books to k students.

binary-search greedy arrays
+30 pts 30m

Showing 97–120 of 148 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.