Skip to content
📚
Algorithms & Data Structures

Array Problems

Beginner Lesson 1 of 1

Master these fundamental array problems that appear frequently in interviews.

Given an array of integers and a target, return indices of two numbers that add up to target.

def two_sum(nums, target):
seen = {}
for i, num in enumerate(nums):
complement = target - num
if complement in seen:
return [seen[complement], i]
seen[num] = i
return []
# Example
nums = [2, 7, 11, 15]
target = 9
print(two_sum(nums, target)) # [0, 1]

Time Complexity: O(n)
Space Complexity: O(n)

2. Maximum Subarray (Kadane’s Algorithm)

Section titled “2. Maximum Subarray (Kadane’s Algorithm)”

Find the contiguous subarray with the largest sum.

def max_subarray(nums):
max_sum = current_sum = nums[0]
for num in nums[1:]:
current_sum = max(num, current_sum + num)
max_sum = max(max_sum, current_sum)
return max_sum
# Example
nums = [-2, 1, -3, 4, -1, 2, 1, -5, 4]
print(max_subarray(nums)) # 6 (subarray [4, -1, 2, 1])

Time Complexity: O(n)
Space Complexity: O(1)

Check if any value appears at least twice in the array.

def contains_duplicate(nums):
return len(nums) != len(set(nums))

String Problems →