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
Python Basics medium

Jump Game Minimum Jumps

Given an array of non-negative integers where each element is the maximum jump length, compute the minimum jumps to reach the last index.

arrays greedy minimum-jumps
+20 pts 25m
Strings & Text medium

Minimum Remove Valid Parentheses

Given a string with parentheses and letters, remove the fewest parentheses to make it valid.

strings stack validation
+20 pts 25m
Data Structures & Algorithms medium

Coin change (DP)

Find the minimum number of coins to make exactly the target amount.

dp greedy
+30 pts 28m
Dynamic Programming medium

Edit Distance (Levenshtein Distance)

Implement the classic edit distance algorithm to find the minimum number of single-character edits required to transform one string into another.

dynamic-programming strings levenshtein-distance
+25 pts 30m
Dynamic Programming medium

Coin Change Minimum

Given coin denominations and a target amount, compute the minimum number of coins needed or -1 if impossible.

dynamic-programming coins minimum
+30 pts 25m
Dynamic Programming medium

Paint House Colors

Given a cost matrix, compute the minimum total cost to paint all houses with no two adjacent houses having the same color.

dynamic-programming optimization arrays
+20 pts 25m
Dynamic Programming medium

Minimum Falling Path Sum

Compute the minimum falling path sum in an n x n matrix by moving down or diagonally each step.

dynamic programming grid path sum
+25 pts 25m
Dynamic Programming medium

Matrix Chain Multiplication

Given a list of matrix dimensions, compute the minimum multiplication cost using dynamic programming.

matrix dynamic-programming optimization
+30 pts 25m
Dynamic Programming medium

Minimum Path Sum Matrix

Implement a function that computes the minimum path sum from the top-left to the bottom-right of a grid moving only right or down.

dynamic-programming matrix path
+20 pts 25m
Dynamic Programming medium

Dungeon Game Minimum Health

Compute the minimum initial health needed to reach the bottom-right corner of a dungeon grid without health dropping to zero or below.

dynamic-programming matrix grid
+30 pts 30m
Graphs & Graph Algorithms medium

Network Delay Time

Given a directed weighted graph and a starting node, find the minimum time for a signal to reach all nodes, or -1 if unreachable.

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

Prim's Minimum Spanning Tree

Given a connected undirected weighted graph, compute the total weight of its minimum spanning tree using Prim's algorithm.

graphs mst prim
+30 pts 30m
Graphs & Graph Algorithms medium

Kruskal MST

Implement Kruskal's algorithm to compute the total weight of a minimum spanning tree in a connected undirected graph.

graphs minimum-spanning-tree union-find
+25 pts 30m
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
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

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 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

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

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.