#2677

Chunk Array

Easy
ArrayTwo Pointers
LeetCode ↗

Approaches

Brute ForceOptimal
Complexity Comparison
Brute ForceOptimal Solution
Time
O(n²)
O(n)
Space
O(1)
O(n)
💡

Intuition

Time O(n)Space O(n)

The optimal approach uses a single loop to create chunks, which is more efficient. We directly append elements to the current chunk and start a new chunk when the current one reaches the specified size.

⚙️

Algorithm

4 steps
  1. 1Step 1: Initialize an empty list to hold the chunks and a temporary list for the current chunk.
  2. 2Step 2: Loop through each element in the original array.
  3. 3Step 3: Append the current element to the current chunk.
  4. 4Step 4: If the current chunk reaches the specified size, append it to the chunks list and reset the current chunk.
solution.py11 lines
1def chunk_array(arr, size):
2    chunks = []
3    current_chunk = []
4    for item in arr:
5        current_chunk.append(item)
6        if len(current_chunk) == size:
7            chunks.append(current_chunk)
8            current_chunk = []
9    if current_chunk:
10        chunks.append(current_chunk)
11    return chunks

Complexity note: The time complexity is O(n) because we traverse the array once, and the space complexity is O(n) due to the storage of the chunks.

  • 1Understanding how to manipulate arrays and create subarrays is crucial.
  • 2Recognizing when to use loops versus built-in functions can optimize performance.

Solutions and explanations are original Tejav content. Problem titles © LeetCode — use the LeetCode button above for the full problem statement.