Median in Rotated Array
/*** find median of rotated sorted array. O(logn) ***/ #include <iostream> using namespace std; int find_start( int * a , int st , int ed ) { if ( st >= ed ) return st ; int mid = ( st + ed ) / 2; if ( a [mid] < a [mid-1]) return mid; if ( a [mid] > a [ ed ]) { return find_start( a , mid+1, ed ); } else { return find_start( a , st , mid-1); } } int get_median( int * a , int sz ) { int m = sz /2; int id = find_start( a , 0, sz -1); ...