Set Mismatch - Problem

You have a set of integers s, which originally contains all the numbers from 1 to n. Unfortunately, due to some error, one of the numbers in s got duplicated to another number in the set, which results in repetition of one number and loss of another number.

You are given an integer array nums representing the data status of this set after the error. Find the number that occurs twice and the number that is missing and return them in the form of an array.

The returned array should contain [duplicate, missing] where duplicate is the number that appears twice and missing is the number that should be present but isn't.

Input & Output

Example 1 — Basic Case
$ Input: nums = [1,2,2,4]
Output: [2,3]
💡 Note: Number 2 appears twice (duplicate), number 3 is missing from the sequence 1,2,3,4
Example 2 — Different Position
$ Input: nums = [1,1]
Output: [1,2]
💡 Note: Number 1 appears twice (duplicate), number 2 is missing from the sequence 1,2
Example 3 — Larger Array
$ Input: nums = [3,2,3,4,6,5]
Output: [3,1]
💡 Note: Number 3 appears twice (duplicate), number 1 is missing from the sequence 1,2,3,4,5,6

Constraints

  • 2 ≤ nums.length ≤ 104
  • 1 ≤ nums[i] ≤ 104

Visualization

Tap to expand
Set Mismatch: Find Duplicate and MissingExpected:1234❌ Error: One number duplicated, one missingActual:1224duplicateduplicateMissing:3missingAnswer: [2, 3]
Understanding the Visualization
1
Perfect Sequence
Should be [1,2,3,4] with each number appearing once
2
Error Occurs
One number (3) gets replaced by duplicate of another (2)
3
Find Both
Identify duplicate (2) and missing (3) numbers
Key Takeaway
🎯 Key Insight: Use frequency counting or mathematical sum differences to identify the duplicate (appears twice) and missing (appears zero times) numbers
Asked in
Amazon 35 Google 28 Microsoft 22 Apple 18
185.0K Views
Medium Frequency
~15 min Avg. Time
2.8K Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen