153. 寻找旋转排序数组中的最小值( 154. 寻找旋转排序数组中的最小值 II )
题目:
思路:
【1】153. 寻找旋转排序数组中的最小值
【1.1】这种可以默认的是看作为有序的集合,并且从有序集合中找出最小值最合适的就是二分查找(其实找最大值也是可以的,因为最大值的下一位就是最小值)
【2】154. 寻找旋转排序数组中的最小值 II
代码展示:
【2】154. 寻找旋转排序数组中的最小值 II
【1】153. 寻找旋转排序数组中的最小值
//时间0 ms 击败 100% //内存39.7 MB 击败 83.35% class Solution { public int findMin(int[] nums) { int low = 0; int high = nums.length - 1; while (low < high) { int pivot = low + (high - low) / 2; if (nums[pivot] < nums[high]) { high = pivot; } else { low = pivot + 1; } } return nums[low]; } }