Back to Practice Dashboard
DSA SectionEasy

Counting Sort

Learn how to solve the 'Counting Sort' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function counting_sort(arr) that sorts a list of non-negative integers arr using the Counting Sort algorithm. You may assume that the elements are integers in a small range [0, k]. The function should return the sorted list.

Constraints
  • 0 <= len(arr) <= 10^4
  • 0 <= arr[i] <= 1000

Examples

Example 1
Input
arr = [4, 2, 2, 8, 3, 3, 1]
Output
[1, 2, 2, 3, 3, 4, 8]
Explanation

Frequencies of each element are counted, and cumulative counts are used to place elements in the sorted output array.

Need a Hint?
Analyze the input constraints. Try sorting first (O(n log n)) or using a hash map/set to track seen elements in O(n) time.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor