Search_For_A_Range

setup initial return array [-1 ,-1]

Use fivepointers:
one pair for binary search, (ptrLeft, ptrRight)
one for middle element of binary search range (ptrMid)
one pair for start and end of output range.

Still, while loop would trap anything as long as target value is find;
and if we ever reach the outside of while loop, it simply means target
value not found, thus return the unchanged array [-1 ,-1] as we
initially declared for error cases.