Contains Duplicate
Problem statement
Implement containsDuplicate for the classic Contains Duplicate problem.
This Blind 75 version is framed for frontend interviews: write clean JavaScript, name the invariant out loud, and handle edge cases without over-engineering.
What this tests
- Pattern:
set membership. - Ability to explain time and space complexity clearly.
- Careful handling of empty inputs, duplicates, and boundary cases.
- Production-style JavaScript readability, not just competitive-programming shortcuts.
Requirements & constraints
- Use JavaScript without external libraries.
- Prefer the standard optimal interview approach for this pattern.
- Return deterministic output when multiple valid outputs exist where the prompt implies ordering.
Examples
Example 1
Input: Use the canonical Blind 75 sample for this problem.
Output: Return the value required by the problem statement.
How to approach Contains Duplicate
The strategy an interviewer expects you to reach for.
Duplicate detection is the cheap Set question interviewers use to see if you reach for the right structure. Naive move Sort and scan neighbors, or nested loops. Where it breaks Sorting mutates/copies; nested loops are quadratic. The fix Add each value to a Set; if add fails (already present), return true. Dry-run: Example: [1,2,3,1] → Set already has 1 on second sighting → true. Remember: Set membership is the point — O(n) time, O(n) space. Say this in the interview: I'd scan once into a Set and return true as soon as an insert collides.
The full solution is part of HelloFrontend Pro
The question above is free to read in full. Upgrade to unlock the interactive workspace and the senior-level walkthrough that go with it.
- Runnable editor with the hidden test suite
- Progressive hints that unlock as you get stuck
- Senior-level reference solution with a line-by-line walkthrough
Already a member? Log in to open the workspace.