Skip to main content

1. Two Sum

easyAsked at JetBrains

Find two indices whose values sum to a target, used at JetBrains to gauge baseline data-structure fluency before symbol-table style problems.

By Alex Chen, Founder, InterviewChamp.AI · Last verified

Problem

Given an integer array and a target, return indices of the two numbers that add up to the target. You may assume each input has exactly one solution and you may not use the same element twice.

Constraints

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

Examples

Example 1

Input
nums=[2,7,11,15], target=9
Output
[0,1]

Example 2

Input
nums=[3,2,4], target=6
Output
[1,2]

Approaches

1. Brute force

Try every pair until one sums to target.

Time
O(n^2)
Space
O(1)
for (let i=0;i<nums.length;i++)
  for (let j=i+1;j<nums.length;j++)
    if (nums[i]+nums[j]===target) return [i,j];

Tradeoff:

2. Hash map

Store seen values keyed by index; lookup complement in O(1). Single pass, classic symbol-table pattern.

Time
O(n)
Space
O(n)
function twoSum(nums, target) {
  const seen = new Map();
  for (let i = 0; i < nums.length; i++) {
    const need = target - nums[i];
    if (seen.has(need)) return [seen.get(need), i];
    seen.set(nums[i], i);
  }
  return [];
}

Tradeoff:

JetBrains-specific tips

JetBrains expects you to think of this as a symbol-table lookup analogous to identifier resolution in their IDE indexers — call out the hash as a name-to-position index out loud.

Solve it now

Free. No sign-up. Python and JavaScript run instantly in your browser.

Output

Press Run or Cmd+Enter to execute

Practice these live with InterviewChamp.AI

Drill Two Sum and other JetBrains interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.

Practice these live with InterviewChamp.AI →