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
Data Structures & Algorithms medium

Top N per group

Implement top_n_per_group that returns the top N scores for each group from a list of (group, score) pairs.

sorting grouping dictionaries
+25 pts 25m
Data Structures & Algorithms easy

Consecutive available seats

Given a list of seat statuses, return the length of the longest consecutive run of available (0) seats.

arrays sliding-window greedy
+10 pts 15m
Data Structures & Algorithms easy

Argsort Indices

Implement a function that returns the indices that would sort a list of integers, with ties broken by original order.

sorting indices lists
+8 pts 10m
Data Structures & Algorithms medium

Level Order Traversal

Implement a function that performs a level order traversal of a binary tree and returns node values as a list of lists.

binary-tree queue bfs
+20 pts 25m
Data Structures & Algorithms medium

Matchsticks to Square

Given a list of matchstick lengths, decide if they can form a square by using each matchstick exactly once.

backtracking dfs partition
+30 pts 30m
Data Structures & Algorithms hard

Merge K Sorted Lists

Write a function that merges multiple sorted lists into a single sorted list.

merge sorting heap
+45 pts 40m
Data Structures & Algorithms easy

Memory view slice

Implement chunk_list that splits a list into consecutive sublists of a given chunk size.

slicing lists chunking
+10 pts 15m
Data Structures & Algorithms medium

Delete Middle Node

Implement a function that deletes a given non-tail node from a singly linked list in O(1) time.

linked-list pointer in-place
+12 pts 15m
Data Structures & Algorithms medium

Design Skip List Lite

Implement a simplified skip list supporting insert, search, and delete with O(log n) average complexity.

skip-list linked-list search
+30 pts 30m
Data Structures & Algorithms medium

Delete duplicates sorted II

Given a sorted list, remove duplicates in place so each element appears at most twice, returning the new length.

arrays two-pointers in-place
+20 pts 20m
Data Structures & Algorithms medium

Arithmetic Slices Count

Given a list of integers, count how many contiguous subarrays of length at least 3 form an arithmetic sequence.

arrays arithmetic counting
+15 pts 20m
Data Structures & Algorithms medium

Accounts Merge

Given a list of accounts, merge those that share any email and return sorted accounts.

union-find graph sorting
+28 pts 30m

Showing 25–36 of 36 challenges · Data Structures & Algorithms

Data Structures & Algorithms — Python coding challenges

What you will find here

This page lists data structures & algorithms challenges — real Python problems you solve in the browser IDE with instant test feedback. Each challenge includes a clear brief, starter code, and automated checks.

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.