Mid From PDF Coding C# Coding Interview

Find Element that Appears Once in Sorted Array?

(Others Appear Twice)

int SingleNonDuplicate(int[] nums)
{
int low = 0, high = nums.Length - 1;

while (low < high)

{
int mid = low + (high - low) / 2;
if (mid % 2 == 1) mid--; // ensure mid is even
if (nums[mid] == nums[mid + 1])
low = mid + 2;

else

high = mid;

Follow on:

}
return nums[low];
}

Explanation:

Pairs appear consecutively; use binary search on even indices to find mismatch.

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