A sorted array has been rotated at an unknown pivot (e.g. [0,1,2,4,5,6,7] becomes [4,5,6,7,0,1,2]). Given the rotated array nums (distinct values) and a target, return its index, or -1 if it isn't present. Your solution must run in O(log n).
Example
Input: nums = [4, 5, 6, 7, 0, 1, 2], target = 0
Output: 4