1. Two Sum
easyAsked at JetBrainsFind 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^9Exactly one valid answer exists
Examples
Example 1
nums=[2,7,11,15], target=9[0,1]Example 2
nums=[3,2,4], target=6[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.
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 →