Asteroid Collision
Simulate asteroid collisions with a stack and return the remaining asteroids in original order.
Decode Nested String
Implement a function that decodes a string with nested encoding patterns.
Top K Frequent Elements
Given an integer array and a number k, return the k most frequent elements using a heap-based approach.
Kth Largest Element in an Array (Heap Edition)
Implement a function that returns the kth largest element in an unsorted integer array using a heap.
Top K Frequent Elements
Given a list of integers and a number k, return the k most frequent elements in descending order of frequency, with ties broken by larger value.
Task Scheduler Heap
Given a list of tasks and a cooldown, find the minimum number of CPU intervals needed to schedule all tasks without violating the cooldown.
Find K pairs with smallest sums
Given two sorted arrays and an integer k, return the k smallest pairs (u, v) with the smallest sums, sorted by sum.
Meeting Rooms II with Heaps
Given a list of meeting intervals, compute the minimum number of rooms required using a heap-based approach.
Sliding Window Maximum using Heap
Given an array of integers and a window size k, return an array of maximums for each contiguous subarray of length k.
Maximum Average Pass Ratio
Given class pass/total counts and extra students, maximize the average pass ratio by assigning extra students optimally.
Minimum Cost to Connect Sticks
Compute the minimum total cost to connect all sticks into one stick by repeatedly combining two sticks with the smallest lengths.
Prepend a new head
Insert value at the front of the list.
Append a new tail
Add value after the last node.
Palindrome linked values
Check whether values read the same forwards and backwards.
Rotate list left by k
Move the first k nodes to the end (k may exceed length; use modulo).
Merge two sorted lists
Merge two ascending integer lists into one sorted list.
Remove duplicate values
Keep first occurrence of each value while preserving order.
Pairwise sum of adjacent nodes
Sum each adjacent pair; keep a lone last node as-is.
Count nodes equal to target
Count how many times target appears in the list.
Zip two linked lists
Interleave values from a and b until both are exhausted.
Split list at index
Return prefix and suffix tuples at index k.
Spiral Matrix Order
Given a 2D matrix, return all elements in clockwise spiral order starting from the top-left.
Number of Islands
Given a 2D grid of '1' (land) and '0' (water), count the number of islands surrounded by water.
Max Area of Island
Given a 2D grid of 0s and 1s, find the maximum area of a connected group of 1s.
Showing 265–288 of 323 challenges · medium
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
- Pick a category — basics, algorithms, strings, and more
- Open a challenge, read the statement, and edit the starter code
- 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.