Search⌘ K
AI Features

Problem: Find the Duplicate Number

Explore how to find a duplicate number in a constrained integer array using a binary search approach on value ranges. Learn to apply the pigeonhole principle and count elements efficiently, achieving a solution with linearithmic time complexity and constant space usage.

Statement

You are given an integer array nums of length n + 1, where every element lies in the range [1,n][1, n] inclusive.

Exactly one number in nums is repeated (it may appear more than once), while all other numbers appear exactly once. Return the repeated number.

You must solve this problem without modifying the array nums and using only constant extra space.

Note:
How can we prove that at least one duplicate number must exist in nums? Can you solve the problem in linear time?

Constraints:

  • 11 \leq n 105\leq 10^5

  • nums.Length ==== n ...