Article start
DSA Course: Interview Patterns and Problem Solving
Module 1: Arrays

Contains Duplicate: Set Pattern

Use a set to detect whether any value has appeared before.

May 28, 2026·34

Learning Outcome

After this lesson, you should be able to identify duplicate detection problems and solve them with a set in one pass.

Problem Statement

Given an integer array nums, return true if any value appears at least twice. Return false if all values are distinct.

InputOutputWhy
[1, 2, 3, 1]trueThe value 1 appears twice.
[1, 2, 3, 4]falseEvery value appears once.

Brute Force Approach

Compare every element with every later element. If any pair has equal values, return true.

This is simple but slow because it performs repeated comparisons, leading to O(n^2) time.

Optimized Approach

Use a set to store values already seen. During the scan, if the current value is already in the set, a duplicate exists.

This turns repeated pair checks into average O(1) membership checks.

Exact Pseudocode

seen = empty set
for value in nums:
  if value exists in seen:
    return true
  add value to seen
return false

Reference Code

class Solution:
    def containsDuplicate(self, nums):
        seen = set()

        for value in nums:
            if value in seen:
                return True
            seen.add(value)

        return False

Sample Dry Run

valueseen before checkAction
1{}Add 1
2{1}Add 2
3{1, 2}Add 3
1{1, 2, 3}1 already exists, return true

Complexity

MeasureValueReason
TimeO(n)Each value is checked once.
SpaceO(n)The set may store all values if there are no duplicates.

Edge Cases

  • Empty or single-element array should return false if allowed.
  • Duplicate appears immediately, such as [1, 1].
  • Large negative and positive values.

Interview Checklist

  • Use a set when only existence matters.
  • Return as soon as a duplicate is found.
  • Do not sort if the prompt asks for linear time.

FAQs

Can sorting solve this?

Yes, sort and check neighbors, but that is O(n log n). A set gives average O(n).

Why is space O(n)?

If all values are unique, every value is stored in the set.

What is the core pattern?

Seen-set duplicate detection.

Test your knowledge

Take a quick quiz based on this chapter.

Discussion

0 comments

Sign in to share a question or add to the discussion.
Start the discussion

Ask a question or share what stood out to you.