Search⌘ K
AI Features

Problem: Find the Duplicate Number

Explore how to efficiently find a duplicate number in an array where one number repeats. Understand using binary search on the value range and the pigeonhole principle to locate the duplicate without altering the array or using extra space, while analyzing the time and space complexity of this approach.

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 ...