17

Phase 4 - Level 3: Transformation

Chapter 17 • Intermediate

90 min

Phase 4 - Level 3: Transformation

Introduction

Learn to transform arrays by modifying elements, rearranging order, and creating new arrays based on transformations.

Key Concepts

Array Transformations

  • Reverse: Reverse order of elements
  • Rotate: Shift elements left or right
  • Swap: Exchange elements at positions
  • Replace: Change elements based on condition
  • Filter: Create new array with selected elements

In-Place vs New Array

  • In-Place: Modify original array
  • New Array: Create transformed copy

Common Transformations

Reverse Array

python.js
for i in range(len(arr) // 2):
    arr[i], arr[len(arr) - 1 - i] = arr[len(arr) - 1 - i], arr[i]

Rotate Left by 1

python.js
first = arr[0]
for i in range(len(arr) - 1):
    arr[i] = arr[i + 1]
arr[-1] = first

Create New Array

python.js
new_arr = []
for element in arr:
    new_arr.append(transform(element))

Problem-Solving Approach

  1. Determine Type: In-place or new array?
  2. Identify Pattern: What transformation needed?
  3. Handle Boundaries: First, last, middle elements
  4. Test Edge Cases: Empty, single element, all same

Hands-on Examples

Reverse Array

# Take array
n = int(input("Enter array size: "))
arr = []
for i in range(n):
    arr.append(int(input(f"Enter element {i+1}: ")))

# Reverse array
print("Original array:", arr)
for i in range(len(arr) // 2):
    # Swap elements from both ends
    arr[i], arr[len(arr) - 1 - i] = arr[len(arr) - 1 - i], arr[i]

print("Reversed array:", arr)

Swap elements from both ends moving toward center. Loop only needs to go halfway (len(arr) // 2).