Back to Practice Dashboard
DSA SectionEasy

Insertion Sort

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

Problem Statement

Easy

Write a function insertion_sort(arr) that sorts a list of integers arr in ascending order using the Insertion Sort algorithm and returns the sorted list.

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

Examples

Example 1
Input
arr = [4, 3, 2, 10, 12, 1, 5, 6]
Output
[1, 2, 3, 4, 5, 6, 10, 12]
Explanation

Elements are sequentially inserted into their correct positions in the sorted portion of the array.

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

1 is inserted before 3 -> [1, 3, 2], then 2 is inserted between 1 and 3 -> [1, 2, 3].

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