class Solution {
public int findMin(int[] nums) {
int left = 0, right = nums.length - 1;
int min = Integer.MAX_VALUE;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] >= nums[left]) {//左半部分升序,注意等号,处理只剩两个元素时的情况,比如13
min = Math.min(min, nums[left]);
left = mid + 1;//搜索右半部分
} else {//右半部分升序
min = Math.min(min, nums[mid]);
right = mid - 1;//搜索左半部分
}
}
return min;
}
}