01
02
03
04
05
06
07
08
09
10
11
A
A2Z Sheet

57. Insertion Sorting

Easy
Step 2: Learn Important Sorting Techniques›Sorting-I

Insertion Sorting

EasyFunction: insertionSorting()
ASCI Mission Breakdown • Simple as Hell
"Master Insertion Sorting: Take `nums` (number[]), execute an optimal sorting-i strategy, and return number[] with clean edge-case handling."
Real-World Metaphor:

Think of Insertion Sorting as an everyday real-world challenge: you receive input data, inspect its elements in sequence without making unnecessary duplicate passes, and transform the collection to reach the exact target without wasting computer memory.

Interactive Visual WalkthroughARRAY-POINTERS
Step 1 / 3
Insertion Sorting State Pipeline
start
5
[0]
2
[1]
3
[2]
1
[3]
Memory Notepad / State Tracker
Status:Initialized
Mode:Scanning
Evaluating

1. Initialize State for Insertion Sorting

Load inputs and initialize algorithmic registers.

How to Think About This (Mental Model)

  1. Unpack the problem parameters (`nums` (number[])) and clarify what is given vs what must be returned.
  2. Identify the optimal data structure or pattern (e.g. pointers, hash map, or stack) to avoid redundant recalculations.
  3. Walk through state transitions, handle edge cases (empty collections, single items, negative numbers), and return the verified result.

Given an array of integers `nums`, sort the array in ascending order using the **Insertion Sorting** technique. Return the sorted array.

Examples

Example 1
Input: nums = [5,2,3,1]
Output: [1,2,3,5]
Example 2
Input: nums = [5,1,1,2,0,0]
Output: [0,0,1,1,2,5]

Constraints

  • 1 <= nums.length <= 5 * 10^4
  • -5 * 10^4 <= nums[i] <= 5 * 10^4
Topic Tags:
Learn Important Sorting TechniquesSorting-IinsertionSorting
14px
Ln 1:Col 1
8 lines•120 chars
Spaces: 2•UTF-8
JS(Node v20.12)