Find the missing number in an array of adjacent, increasing numbers in logarithmic time.
Sigiloso
int find_missing_num(int a[], int n) { int low = 0, high = n-1, mid; while (low <= high) { mid = (low+high)/2; int low_diff_indices = mid - low; int low_diff_value = a[mid] - a[low]; if ( high - low == 1) { return (a[low] + 1); } else if (low_diff_value - low_diff_indices == 1) { high = mid - 1; } else { low = mid+1; } } }