Python coding challenges

226 challenges you can solve in Python, from first loops to graphs, dynamic programming and machine learning. Write your code in the browser, run the tests instantly and get an AI review.

Easy · 134 Medium · 68 Hard · 24

Skills you'll practise: CountingDigit extractionString splitting2D listsArithmeticFormulasListsLoopsConditionsDivisibilityFloating pointGradient descent
  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
226
Challenges
2
Solutions shared
3
Languages

All challenges

Search by topic, language, or difficulty.

226 challenges
Hard

Shortest Delivery Tour

Visit every city once and return home as cheaply as possible.

You'll learn Bitmask DPTraveling salesman
AdvancedBitmasksCompetitive-programmingDynamic-programming
No solutions yet
Medium

Game of Life Step

Advance Conway's Game of Life by one generation.

You'll learn Grid simulationNeighbor counting
AdvancedGridsHackathonSimulation
No solutions yet
Hard

Minimum Window Substring

Find the shortest piece of text containing all required characters.

You'll learn Grow and shrink windowsFrequency maps
AdvancedCompetitive-programmingSliding-windowStrings
No solutions yet
Hard

Strongly Connected Components

Count groups of nodes that can all reach each other.

You'll learn Graph algorithmsTarjan or Kosaraju
AdvancedCompetitive-programmingGraphs
No solutions yet
Medium

Shortest Weighted Routes

Find the minimum total route cost from city 1 to each city.

You'll learn Dijkstra's algorithmLazy deletion
GraphsPriority-queuesShortest-path
No solutions yet
Hard

Longest Path in a DAG

Find the heaviest path in a task dependency graph.

You'll learn Topological orderDAG DP
AdvancedGraphsHackathonTopological-sort
No solutions yet
Hard

Median of Two Sorted Arrays

Find the median of two sorted lists combined.

You'll learn Partition searchO(log n)
AdvancedBinary-searchCompetitive-programming
No solutions yet
Medium

K-th Smallest Element

Find the k-th smallest value without fully sorting.

You'll learn QuickselectPartitioning
AdvancedCompetitive-programmingSorting
No solutions yet
Hard

Largest Rectangle in a Histogram

Find the largest rectangle that fits under a histogram.

You'll learn Monotonic stackArea calculation
AdvancedCompetitive-programmingStacks
No solutions yet
Easy

Distance Between Points

Compute the straight-line distance between two points.

You'll learn Pythagorean theoremSquare roots
BeginnerFunctionsLearning-pathmath
No solutions yet
Hard

Minimum Network Connection Cost

Choose undirected links so that every vertex can reach every other vertex, with minimum total cost.

You'll learn Kruskal's algorithmUnion-find
Disjoint-setsGraphsMinimum-spanning-tree
No solutions yet
Hard

Word Break

Decide whether text can be split into dictionary words.

You'll learn Prefix DPString segmentation
AdvancedDynamic-programmingHackathonStrings
No solutions yet
Medium

Count Islands

Count groups of connected land cells in a grid.

You'll learn Flood fillRecursive DFS
BeginnerGridsLearning-pathRecursion
No solutions yet
Medium

Tournament Standings

Rank teams from match records.

You'll learn Aggregating resultsSorting with keys
DictionariesParsingSorting
No solutions yet
Hard

Course Schedule Order

Order courses so every prerequisite comes first.

You'll learn Kahn's algorithmCycle detection
AdvancedGraphsHackathonTopological-sort
No solutions yet
Medium

Gradebook Top Student

Find the student with the highest average score.

You'll learn 2D listsAverages
BeginnerFunctionsGridsLearning-path
No solutions yet
Easy

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

You'll learn Pairs of indexesAvoiding double counts
ArraysBeginnerLearning-pathNested-loops
No solutions yet
Easy

Number Triangle

Build a triangle of increasing numbers.

You'll learn Growing rowsCounters across rows
BeginnerLearning-pathNested-loopsPatterns
No solutions yet