Mid From PDF Coding C# Coding Interview

Solve "Find the Duplicate Number" problem in an array of n+1 integers?

public int FindDuplicate(int[] nums) {
int slow = nums[0], fast = nums[0];

do {

slow = nums[slow];
fast = nums[nums[fast]];
} while (slow != fast);
fast = nums[0];

while (slow != fast) {

slow = nums[slow];
fast = nums[fast];
}
return slow;
}

Explanation:

Floyd’s Tortoise and Hare cycle detection, treating values as pointers.

More from C# Programming Tutorial

All questions for this course
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details