error:
cannot solve it.

it is about two part of array, not two point, every time compare rightmost of left part and leftmost of right part, i.e. nums[mid] and nums[mid + 1]. If nums[mid] < nums[mid + 1], we can treat it as left part is smaller than right part, so shirk search range to right part, i.e. left = mid + 1; otherwise, left part is bigger than right part, shirk search range to left part, i.e. so right = mid;


update:

left part = (left + right) / 2;
right part = (left + right) / 2 + 1;