153. 寻找旋转排序数组中的最小值
单独考虑旋转数组没有旋转的情况:即给定的是一个升序数组
此时nums[0]一定为最小值,即最小值一定在mid的左边使用二分法时需要让循环终止时即left == right,left在数组的最左边那么就必须让二分收缩时趋向与左边收缩,即让right向左边移动 class Solution { public static int findMin(int[] nums) { int left = 0; int right = nums.length - 1; while (left < right) { int mid = left + ((right - left) >> 1); if(nums[mid] < nums[right]) { right = mid; } else { left = mid + 1; } } return nums[left]; } }