Easy · spoken drill

How to Explain Two Sum in English

Two Sum is the classic “hash map while you scan” problem. Say the brute-force pair check first, then the map, walk [2, 7, 11, 15] with target 9, and finish with O(n) time and the empty-array case.

The 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 each input has exactly one solution, and you may not use the same element twice.

You do not need to invent a new algorithm. Narrate brute force, then a hash map of values you have already seen.

# seen: value → index
seen = {}
for i, n in enumerate(nums):
    need = target - n
    if need in seen:
        return [seen[need], i]
    seen[n] = i

How to explain it

  1. 1. Restate

    Say the problem in your own words.

    One or two sentences. Show you understood the input, the output, and the goal — not that you memorised the prompt.

  2. 2. Approach

    Name the method before you code.

    Brute force first if you need it, then the structure you will use: hash map, two pointers, stack, binary search.

  3. 3. Example

    Walk one concrete input.

    Pick small numbers. Say what you store, what you compare, and what you return. Interviewers follow an example more easily than abstract talk.

  4. 4. Time and space

    One sentence each.

    After the example, before you claim you are done. “Time is O(n) because we scan once. Space is O(n) for the map.”

  5. 5. Edge cases

    Name at least one unusual input.

    Empty input, duplicates, already sorted, overflow. Invite a follow-up: “I would also check …”

  • “Let me restate this.”
  • “My first instinct is brute force, then I will optimise.”
  • “I will keep a hash map of values I have already seen.”
  • “Time is O(n). Space is O(n) for the map.”

Practise out loud

Record 60–90 seconds. Play it back, then get a scorecard. Audio is scored and discarded.

This browser cannot record audio. Type your explanation below.

0:00 / 1:30

Model spoken script

Let me restate this. I have an array of numbers and a target. I need the two indices that add up to that target, and I cannot reuse the same index. I will assume there is exactly one pair. My first instinct is brute force: check every pair. That is correct but O(n²). I would rather scan once and keep a hash map of values I have already seen. For example, nums are 2, 7, 11, 15 and the target is 9. I see 2, store 2 at index 0. At 7 I need 2, the map has it, so I return 0 and 1. Time is O(n) because I scan once. Space is O(n) for the map. I would also check the empty array and the case where the pair is at the two ends.

Other problems

FAQ

Questions

Restate the pair-of-indices goal, mention brute force, then a hash map of seen values. Walk [2, 7, 11, 15] with target 9, say O(n) time and O(n) space, and name the empty-array case.

More questions? Email us at contact@mocklyenglish.com.

Course: How to explain a LeetCode solution · Think out loud · Explain code out loud

Quick answer

Explain a LeetCode solution in English with a fixed order: restate, name the approach, walk an example, state time and space, then name an edge case. Record 60–90 seconds and get a scorecard on that structure — not on your accent.

Free 30-minute trial

Take a mock interview

Get feedback on your answers and your English from certified coaches.

Sophie

5.0 · 159 reviews

Tom

5.0 · 156 reviews

No credit card needed