Explain duplicate detection.
01
01
Understand the problem
arraysduplicates
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Hash set + Floyd (1..n)
Run Playgrounddef find_duplicate_set(nums):
seen = set()
for x in nums:
if x in seen:
return x
seen.add(x)
return -1
# O(1) space, values in 1..n (read-only):
def find_duplicate_floyd(nums):
slow = fast = nums[0]
while True:
slow = nums[slow]
fast = nums[nums[fast]]
if slow == fast:
break
slow = nums[0]
while slow != fast:
slow = nums[slow]
fast = nums[fast]
return slow
# --- demo ---
print(find_duplicate_set([1, 3, 4, 2, 3])) # 3
print(find_duplicate_floyd([1, 3, 4, 2, 2])) # 2 (values 1..4)05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.