Katas: Algorithms, Data Structures, and Problem Solving

Table of Contents

1. Katas

1.2. Arrays

def reverse_array(arr):
    return arr[::-1]

# Example usage
original = [1, 2, 3, 4, 5]
reversed_arr = reverse_array(original)
print(reversed_arr)  # Output: [5, 4, 3, 2, 1]

1.4. Backtracking

verified · pilot-annotation-pass · 2026-10-08
def generate_subsets(nums):
    def backtrack(start, current):
        result.append(current[:])
        for i in range(start, len(nums)):
            current.append(nums[i])
            backtrack(i + 1, current)
            current.pop()

    result = []
    backtrack(0, [])
    return result

# Example usage
print(generate_subsets([1, 2, 3]))
# Output: [[], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3]]

2. Related