House Robber Circular
Solve the House Robber problem with houses arranged in a circle.
Maximal square
Given a 2D binary matrix of 0s and 1s, compute the area of the largest square containing only 1s.
0/1 Knapsack
Implement the classic 0/1 Knapsack dynamic programming solution to maximize value under a weight capacity.
Unbounded Knapsack
Given item weights and values with unlimited copies, find the maximum total value that fits in a knapsack capacity.
Integer Break Product
Given a positive integer n, break it into at least two positive integers that sum to n and maximize their product.
Buy Sell Stock with Cooldown (DP)
Given daily stock prices, compute the maximum profit you can achieve if you must wait one day after selling before buying again.
Create Maximum Number
Given two arrays of digits and an integer k, merge them to form the largest number of length k.
Cherry Pickup Maximum
Given a grid with cherries, find the maximum cherries you can collect using two paths from top-left to bottom-right.
Maximal square matrix
Given a 2D binary matrix of 0s and 1s, find the side length of the largest square containing only 1s.
Delete and Earn
Given an array of integers, find the maximum points you can earn by repeatedly deleting a number and all its adjacent values.
Maximal rectangle in matrix
Given a matrix of 0s and 1s, compute the area of the largest rectangle consisting only of 1s.
Maximum depth of tree
Implement max_depth(root) to return the maximum depth of a binary tree.
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).
Minimum Cut
Given an undirected graph in adjacency-list form, return the size of the minimum edge cut that disconnects the graph.
Swim in Rising Water
Find the minimum time needed to swim from the top-left to the bottom-right of a grid where water level rises and you can only move to cells with elevation ≤ current time.
Most stones removed
Given stone coordinates on a grid, find the maximum number of stones that can be removed while every stone shares a row or column with another remaining stone.
Stock Buy Sell Once
Given daily stock prices, compute the maximum profit you can achieve from buying once and selling once later.
Assign Cookies
Given child greed factors and cookie sizes, return the maximum number of content children.
Partition Labels
Partition a string into maximal parts where each character appears in only one part, returning part lengths.
Maximize units on truck
Given box types with count and units per box, maximize total units loaded onto a truck.
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.
Maximum Ice Cream Bars
Given costs of ice cream bars and coins, return the maximum number you can buy.
Painter Partition Problem
Given board lengths and k painters, find the minimum possible maximum total length a painter must paint.
IPO Maximize Capital
Given project profits and capital requirements, choose at most k projects to maximize final capital.
Showing 25–48 of 68 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
- Pick a category — basics, algorithms, strings, and more
- Open a challenge, read the statement, and edit the starter code
- 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.