```
public int findMin(int[] nums) {
int lo = 0, hi = nums.length - 1;
while (lo < hi) {
int mid = (lo + hi) >>> 1;
if (nums[mid] < nums[hi]) {
hi = mid;
} else {
lo = mid + 1;
}
}
return nums[lo];
}
```