Programming Challenges

Strengthen your problem-solving skills with language-neutral challenges you can solve in Python, C++, or C#. Every submission is checked by automated tests and reviewed by AI.

  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
Learning path
150
Challenges
2
Solutions shared
3
Languages

All challenges

Search by topic, language, or difficulty.

150 challenges
Hard

Longest Path in a DAG

Find the heaviest path in a task dependency graph.

AdvancedGraphsHackathonTopological-sort
No solutions yet
Easy

Pascal’s Triangle

Build rows by adding neighboring entries from the previous row.

ArraysCombinatorics
No solutions yet
Medium

Count Coin Combinations

Count ways to make an amount with unlimited coins of specified denominations.

CombinatoricsDynamic-programming
No solutions yet
Easy

First Negative Index

Find where the first negative number appears.

ArraysBeginnerLearning-path
No solutions yet
Hard

Minimum Network Connection Cost

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

Disjoint-setsGraphsMinimum-spanning-tree
No solutions yet
Medium

Count Grid Paths

Count routes across a rectangular grid using only right and down moves.

CombinatoricsDynamic-programming
No solutions yet
Hard

Word Break

Decide whether text can be split into dictionary words.

AdvancedDynamic-programmingHackathonStrings
No solutions yet
Easy

Count Handshakes

Count handshakes when every pair of people shakes hands once.

Combinatoricsmath
No solutions yet
Medium

Two Nonattacking Knights

Count safe placements of two knights for each square board size.

Combinatoricsmath
No solutions yet
Easy

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

BeginnerLearning-pathVariables
Medium

Flatten Arbitrarily Nested Lists (Recursion)

Practice recursion by flattening arbitrarily nested lists while skipping null entries.

Data-structuresRecursion
No solutions yet
Easy

Simple Interest

Find the total amount after simple interest.

BeginnerLearning-pathVariables
No solutions yet
Hard

Cut a Rectangle Into Squares

Find the fewest straight cuts needed to produce only squares.

Dynamic-programmingGeometry
No solutions yet
Easy

Above-Average Values

Keep the values that are greater than the average.

ArraysBeginnerLearning-path
No solutions yet
Hard

Hotel Room Allocation

Assign arriving groups in order.

Segment-treesSimulation
No solutions yet
Easy

Doubling Grains on a Chessboard

Calculate a square’s grain count and the total on all 64 squares.

NumbersSequences
No solutions yet
Hard

Mini Stack-Language Interpreter

Evaluate a small stack language.

InterpretersParsingStacks
No solutions yet
Medium

Recursive Palindrome

Check a palindrome recursively, ignoring case and punctuation.

BeginnerLearning-pathRecursionStrings
No solutions yet