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
OOP & Classes medium

Matrix addition operator

Implement a Matrix class that supports + and * operators.

OOP dunder matrix
+22 pts 20m
Data Structures & Algorithms medium

Shortest Path in Binary Matrix

Implement BFS to find the shortest path length from (0,0) to (n-1,n-1) in an n x n binary matrix, moving through 0 cells in 8 directions.

bfs grid shortest-path
+30 pts 30m
Data Structures & Algorithms medium

Flood Fill Algorithm

Implement flood fill on a 2D grid using BFS/DFS.

grid bfs dfs
+20 pts 25m
Dynamic Programming medium

Maximal square

Given a 2D binary matrix of 0s and 1s, compute the area of the largest square containing only 1s.

dynamic-programming matrix maximal-square
+30 pts 30m
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

Maximal square matrix

Given a 2D binary matrix of 0s and 1s, find the side length of the largest square containing only 1s.

dynamic-programming matrix maximum-square
+25 pts 30m
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

Maximal rectangle in matrix

Given a matrix of 0s and 1s, compute the area of the largest rectangle consisting only of 1s.

dynamic programming binary matrix histogram
+25 pts 30m
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

Surrounded Regions

Given an M×N grid of 'X' and 'O', capture all regions of 'O' that are completely surrounded by 'X'.

graph bfs grid
+25 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
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
Binary Search medium

Search 2D Matrix

Given a sorted 2D matrix with sorted rows and first element of each row greater than last of previous, find target efficiently.

binary search 2d matrix searching
+20 pts 25m
Matrix & 2D Arrays medium

Spiral Matrix Order

Given a 2D matrix, return all elements in clockwise spiral order starting from the top-left.

matrix spiral traversal
+25 pts 25m
Matrix & 2D Arrays medium

Number of Islands

Given a 2D grid of '1' (land) and '0' (water), count the number of islands surrounded by water.

matrix graph bfs
+25 pts 30m
Matrix & 2D Arrays medium

Max Area of Island

Given a 2D grid of 0s and 1s, find the maximum area of a connected group of 1s.

grid dfs connected-components
+20 pts 25m
Matrix & 2D Arrays medium

01 Matrix Nearest Zero

Given a binary matrix, return a matrix of the same shape where each cell contains the Manhattan distance to the nearest 0.

matrix bfs distance
+25 pts 30m
Matrix & 2D Arrays medium

Spiral Matrix Traversal

Implement a function that returns the elements of a 2D matrix in clockwise spiral order.

matrix traversal simulation
+20 pts 25m
Matrix & 2D Arrays medium

Search a 2D Matrix II

Implement an efficient search for a target in a matrix where each row and each column is sorted in ascending order.

matrix binary-search search
+20 pts 20m
Matrix & 2D Arrays medium

Number of Islands in a Matrix

Count the number of distinct islands (connected groups of 1s) in a 2D binary matrix.

matrix dfs bfs
+20 pts 20m
Matrix & 2D Arrays medium

Shortest Path in Binary Matrix

Compute the shortest path length from top-left to bottom-right in a binary matrix using 8-directional moves.

matrix bfs shortest-path
+30 pts 25m
Matrix & 2D Arrays medium

Count square submatrices with all ones

Count all square submatrices consisting entirely of 1s in a binary matrix.

matrix dynamic-programming counting
+25 pts 25m

Showing 1–24 of 32 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.