Suppose an array of length `n` sorted in ascending order is **rotated** between `1` and `n` times. Given the sorted rotated array `nums` of **unique** elements, return the **minimum element** of this array.
You must write an algorithm that runs in O(log n) time.
**Example 1:**
```
Input: nums = [3,4,5,1,2]
Output: 1
Explanation: Original array was [1,2,3,4,5] rotated 3 times.
```
**Example 2:**
```
Input: nums = [4,5,6,7,0,1,2]
Output: 0
```
**Example 3:**
```
Input: nums = [11,13,15,17]
Output: 11
Explanation: Array was not rotated.
```