Java coding challenges

225 challenges you can solve in Java, 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 · 67 Hard · 24

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

All challenges

Search by topic, language, or difficulty.

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

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
Easy

Distance Between Points

Compute the straight-line distance between two points.

You'll learn Pythagorean theoremSquare roots
BeginnerFunctionsLearning-pathmath
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

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
Medium

Gradebook Top Student

Find the student with the highest average score.

You'll learn 2D listsAverages
BeginnerFunctionsGridsLearning-path
Medium

Count Islands

Count groups of connected land cells in a grid.

You'll learn Flood fillRecursive DFS
BeginnerGridsLearning-pathRecursion
Medium

K-th Smallest Element

Find the k-th smallest value without fully sorting.

You'll learn QuickselectPartitioning
AdvancedCompetitive-programmingSorting
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
Hard

Word Break

Decide whether text can be split into dictionary words.

You'll learn Prefix DPString segmentation
AdvancedDynamic-programmingHackathonStrings
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
Easy

Number Triangle

Build a triangle of increasing numbers.

You'll learn Growing rowsCounters across rows
BeginnerLearning-pathNested-loopsPatterns
Easy

Prime Number Check

Decide whether a number is prime.

You'll learn DivisibilityLoop optimization
BeginnerLoopsNumbersStudent-beginner
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
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
Hard

Course Schedule Order

Order courses so every prerequisite comes first.

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

Days in a Month

Return how many days a month has, including leap years.

You'll learn Calendar rulesHelper functions
BeginnerConditionsFunctionsLearning-path
Medium

Tournament Standings

Rank teams from match records.

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