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 medium

Target sum assignments

Given a list of integers and a target, count how many ways to assign + or - to each number so the total equals the target.

dynamic programming combinatorics arrays
+30 pts 25m
Dynamic Programming medium

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.

dynamic-programming array hash-map
+30 pts 25m
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
Graphs & Graph Algorithms easy

Find the Town Judge

Given n people and a trust array, return the town judge or -1.

graph indegree outdegree
+10 pts 15m
Graphs & Graph Algorithms easy

Find center of star graph

Write a function that finds the center node of a star graph from its list of edges in O(1) time.

graph star-graph array
+10 pts 15m
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
Greedy Algorithms easy

Stock Buy Sell Once

Given daily stock prices, compute the maximum profit you can achieve from buying once and selling once later.

array profit max
+10 pts 15m
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 easy

Maximum Ice Cream Bars

Given costs of ice cream bars and coins, return the maximum number you can buy.

greedy sorting array
+10 pts 15m
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

Job Sequencing with Deadlines and Profits

Given jobs with deadlines and profits, choose a subset that maximizes profit while meeting deadline constraints.

greedy sorting scheduling
+30 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

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

Showing 73–96 of 170 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.