Continuous DSA Practice
Coding Academy & Algorithms
High-frequency data structures, graphs, design patterns, and dynamic programming with optimal Python implementations and complexity proofs.
Problems (4)
EasyArrays & Hash Table
Two Sum
Given an array of integers `nums` and an integer `target`, return indices of the two numbers such that they add up to `target`. You may assume that each input would have exactly one solution, and you may not use the same element twice.
Examples:
Input: nums = [2, 7, 11, 15], target = 9
Output: [0, 1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
Input: nums = [3, 2, 4], target = 6
Output: [1, 2]
Constraints:
- 2 <= nums.length <= 10^4
- -10^9 <= nums[i] <= 10^9
- Exactly one valid answer exists.
Optimal Python Solution:
Two Sum — Python Solution
python
def twoSum(nums: list[int], target: int) -> list[int]:
seen = {}
for i, num in enumerate(nums):
complement = target - num
if complement in seen:
return [seen[complement], i]
seen[num] = i
return []Time Complexity:O(N) — single pass hash table lookup
Space Complexity:O(N) — stores up to N elements in dictionary