Skip to main content

217. Contains Duplicate

easy

Given an integer array, return true if any value appears at least twice. The cleanest one-line hash-set problem — and the cleanest demonstration of why a set beats nested loops on duplicate-detection.

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

Problem

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

Constraints

  • 1 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9

Examples

Example 1

Input
nums = [1,2,3,1]
Output
true

Example 2

Input
nums = [1,2,3,4]
Output
false

Example 3

Input
nums = [1,1,1,3,3,4,3,2,4,2]
Output
true

Solve it now

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

Output

Press Run or Cmd+Enter to execute

Hints

Progressive — try the first before opening the next.

Hint 1

Brute-force nested loop is O(n^2). What data structure decides 'have I seen this before?' in O(1)?

Hint 2

A hash set. Walk the array once; if num is in the set, return true.

Hint 3

Equivalent slick one-liner: return len(set(nums)) != len(nums) — but the early-exit hash-set version is faster in the duplicate-heavy case.

Solution approach

Reveal approach

Maintain a hash set of seen values. Walk the array once; for each num, if num is already in the set, return true; otherwise insert it. After the loop, return false. The early exit saves you from scanning past the first duplicate. The slick alternative len(set(nums)) != len(nums) is one line but always processes the whole array — no early exit. Both are O(n) time and O(n) space. Sorting and checking adjacent pairs is O(n log n) time with O(1) extra space — useful if memory is constrained.

Complexity

Time
O(n)
Space
O(n)

Related patterns

  • hash-set
  • sorting

Related problems

Asked at

Companies reported asking this problem (sourced from public Glassdoor, Blind, and Levels.fyi interview posts).

  • Amazon
  • Google
  • Microsoft
  • Apple

Practice these live with InterviewChamp.AI

Drill Contains Duplicate and Hash Tables problems under real interview conditions with instant feedback on your reasoning, complexity claims, and code.

Practice these live with InterviewChamp.AI →