Chaturmind
LearnDSASystem DesignBlogPremium
Sign inGet started
Chaturmind

Structured learning paths for engineers who want to go deep. Written by practitioners.

Learn

  • Java
  • DSA
  • System Design
  • Spring Boot
  • AI / ML

Company

  • Blog
  • Premium
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2026 Chaturmind. All rights reserved.

Built for engineers who want to go deep.

DSA›Arrays›Two Sum
EasyArrays

Two Sum

arrayhash-map

Problem

Given an array of integers nums and an integer target, return the indices of the two numbers that 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

Example 1

Input: nums = [2,7,11,15], target = 9

Output: [0,1]

Explanation: nums[0] + nums[1] == 9

Example 2

Input: nums = [3,2,4], target = 6

Output: [1,2]

Explanation: nums[1] + nums[2] == 6

Constraints

  • •2 <= nums.length <= 10^4
  • •-10^9 <= nums[i] <= 10^9
  • •Only one valid answer exists.

Hints

Hint 1

Try a hash map to store each number and its index as you iterate.

Solutions

public int[] twoSum(int[] nums, int target) {
    Map<Integer, Integer> seen = new HashMap<>();
    for (int i = 0; i < nums.length; i++) {
        int complement = target - nums[i];
        if (seen.containsKey(complement)) {
            return new int[]{seen.get(complement), i};
        }
        seen.put(nums[i], i);
    }
    throw new IllegalArgumentException("No solution");
}
Java

Time: O(n) · Space: O(n)