Create find-minimum-in-rotated-sorted-array-ii.cpp

Variant of classical rotated array. When there is duplicate elements, num[mid] may be equal to num[start] or num[end], but we have no idea where the min element is, except the fact that it must be somewhere between start + 1 and end. For example:
1) 10 1 10 10 10, num[mid] == num[begin] == num[end] == 10, we should search in [start, mid]
2) 10 10 10 1 10, we should search in [mid, end]
3) The start element cannot be min except when the sub array is already sorted, like: 1 1 1 10 10

In conclusion:
1) If the sub array is already sorted, return num[start];
2) Otherwise, we'll move start forward 1 step to search for the min element.